Module 模块

前言

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

正文

模块的定义

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

模块的操作

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

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

ps:这里需要注意两点:

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

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

模块的进阶操作

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

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

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

python 复制代码
head.test.print_test()

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

python 复制代码
from .test import print_test
from .test2 import print_kk
from .wjj.test3 import print_666

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

python 复制代码
# 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()

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

后记

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

相关推荐
缺点内向18 分钟前
C#: 高效移动与删除Excel工作表
开发语言·c#·.net·excel
老前端的功夫1 小时前
Web应用的永生之术:PWA落地与实践深度指南
java·开发语言·前端·javascript·css·node.js
@forever@1 小时前
【JAVA】LinkedList与链表
java·python·链表
程序员爱钓鱼1 小时前
Python编程实战:面向对象与进阶语法——类型注解与代码规范(PEP 8)
后端·python·ipython
程序员爱钓鱼1 小时前
Python实战:用高德地图API批量获取地址所属街道并写回Excel
后端·python·ipython
ᐇ9592 小时前
Java HashMap深度解析:数据结构、原理与实战指南
java·开发语言·数据结构
XH1.2 小时前
学习RT-thread(RT-thread定时器)
stm32·单片机·学习
QT 小鲜肉2 小时前
【个人成长笔记】在 Linux 系统下撰写老化测试脚本以实现自动压测效果(亲测有效)
linux·开发语言·笔记·单片机·压力测试
程序员龙一2 小时前
C++之static_cast关键字
开发语言·c++·static_cast
yue0082 小时前
C# 分部类读取学生信息
开发语言·c#