当前位置: 首页 > article >正文

Module 模块

前言

今天学习莫言python第二天,Module模块,虽然写博客其实往往比我学习这个东西还要费时间,但是希望可以依靠这个习惯让我坚持学习,并且加深学习的印象吧。

正文

模块的定义

模块这个名字大家可能听起来有点陌生,但是另一个名字大家应该不陌生,就是头文件。所谓模块其实就是一种让自己编写头文件的过程,也就是多文件编码。可以用import来引用,在c里就是#include。

模块的操作

模块的操作其实非常类似于“类”的操作,他就像是被写在另一个文件的类一样(分成一个又一个的模块,而避免一个文件太大的情况,并且可以实习分功能完成协同合作),只是你需要通过调用头文件来完成对这个“类”的调用,然后你只要在你的头文件里编写函数,那么你就可以用头文件+‘.’+函数来完成对函数的调用。

import file #通过这种方法来调用file的函数
print(file.create_name())
file.print666()

 ps:这里需要注意两点:

1.在头文件import file过程中,程序其实先将file文件中的代码都进行了编译运行,所以不要在头文件中带有一些输入,输出等执行语句,不然只要你调用这个头文件,他就会输出。

2.这样的调用方式只适合在同级两个py文件的情况下,但其实很多时候,一个头文件是一个文件夹,但是这样就不能直接使用了,那么怎么办呢?下面我们来进行讲解。

模块的进阶操作

事实上我们往往是将一个具有一系列庞大功能的文件变成一个文件夹(比如是head),然后对这个文件夹进行一次调用。

并且这个head里面还有文件或者下一级文件夹

但是这个时候你会发现,如果直接import head 那么你其实只是将head这整个文件夹导入进去了,但是没有一个具体的文件,所以也就无法使用里面的函数,你需要

head.test.print_test()

才能调用test文件里的函数,这就更不必说更深的文件夹了,所以显然这是不可取的,那么这时候就又要提到我们之前提到过的,其实模块和类很相似,模块就是放在文件夹里的类,所以我们可以对这个文件夹进行编写初始化函数__init__.py,我们可以在这里对这个头文件进行初始化。

from .test import print_test
from .test2 import print_kk
from .wjj.test3 import print_666

就是.文件夹的嵌套,最后一个就是包含了你的函数的文件名,然后import把文件给出来,就可以直接通过最外边的头文件直接把函数调用了

# me.py

from head import print_test
from head import print_kk
from head import print_666
# print(file.create_name())
# file.print666()
print_test()
print_kk()
print_666()

其实就是在初始化的时候,把一些路径给提前规划好了,这样就可以相当简便的去引用各个函数

后记

这就是这个模块的相关操作,初学没必要,但是之后的大型工程这个用的会比较多,先学着吧,总会有用的。


http://www.kler.cn/a/507623.html

相关文章:

  • Html5 video标签学习
  • 浅谈云计算19 | OpenStack管理模块 (上)
  • Linux 进程前篇(冯诺依曼体系结构和操作系统)
  • 深入理解计算机系统阅读笔记-第十二章
  • Elasticsearch:Jira 连接器教程第一部分
  • 自动驾驶3D目标检测综述(八)
  • 阿里云无影云电脑的使用场景
  • 如何在前端给视频进行去除绿幕并替换背景?-----Vue3!!
  • Redis 性能优化:多维度技术解析与实战策略
  • Java并发编程中的synchronized和volatile:用途解析与使用场景
  • opencv入门基础
  • 分多个AndroidManifest.xml来控制项目编译
  • pikachu靶机-Cross-Site Scripting(XSS)
  • 【大数据】机器学习------支持向量机(SVM)
  • Qwen-72B-Chat-Int8:智能对话的新标杆
  • 《前端最新Vue2+Vue3基础入门到实战项目全套教程,自学前端vue就选黑马程序员,一套全通关!》学习笔记总目录
  • 网格参数化,Mesh parameterization processing
  • 文件操作:系统IO
  • 【Linux】gdb_进程概念
  • 算法(蓝桥杯)贪心算法7——过河的最短时间问题解析
  • Spring-boot3.4最新版整合swagger和Mybatis-plus
  • 探索Node.js的Net模块:构建强大网络应用的基石
  • Ubuntu、Windows系统网络设置(ping通内外网)
  • 【全开源】跑腿小程序:智能派单、同城配送、校园跑腿及预约取件(用户端+骑手端)
  • 回归预测 | MATLAB实TCN时间卷积神经网络多输入单输出回归预测
  • 图数据库 | 19、高可用分布式设计(下)