一、模块的概念
以py.结尾的Python源代码文件都是一个模块
- 模块名同样是一个标识符
- 模块中被定义好的全局变量、函数、类,都是提供给外界直接使用的工具
二、导入模块的方法
使用模块里的工具前需要导入模块,
一般的导入方法:
- import 模块名
- import 模块1,模块2(一般不推荐使用)
- From 模块名 import 工具名(全局变量或函数或类)
【注意:如果两个模块存在同名的函数,那么导入模块后的函数会覆盖掉先导入的函数】
开发时import代码应该同意写在代码的顶部,以便及时发现冲突;
导入模块时,每个导入应该独占一行,所以建议一个一个导入;
通过 模块名. 使用模块提供的工具---全局变量、函数、类 ;
其中,第三种导入方法导入后不需要 模块名. 来使用工具。
创建以下py文件
title = "周周" # zz_01_测试模块
def say_hello():
print("胖茵同学你好,我是%s" % title)
class Male(object):
pass
title = "胖茵" # zz_02_测试模块
def say_hello():
print("周周同学你好,我是%s" % title)
class Female(object):
pass
可运行下列代码进行测试:
import zz_01_测试模块
import zz_02_测试模块
zz_01_测试模块.say_hello()
zz_02_测试模块.say_hello()
Man = zz_01_测试模块.Male
Women = zz_02_测试模块.Female
第三种方法的运行代码:
from zz_01_测试模块 import say_hello
from zz_02_测试模块 import say_hello
say_hello()
三、__name__属性(这里一知半解)
当前程序的代码:
def say_hello():
print("你好你好,我是周周!")
print(__name__)
print("周周开发的模块")
say_hello()
模块测试导入的代码(新建一个py文件再导入):
import zz_03__name__模块 # 导入模块
print("-" * 50)
如果__name__是在别的文件中被执行,那么它输出的结果就是模块名,也就是文件名,结果如下:
zz_03__name__模块
周周开发的模块!
你好你好,我是周周!
--------------------------------------------------
若是在当前程序中被执行,那么输出的结果就是__main__,结果如下
__main__
周周开发的模块!
你好你好,我是周周!
def main():里面装了所有测试的代码,然后if判断是否执行:
if __name__ == "__main__":
print(__name__)
print("周周开发的模块!")
say_hello()
这样后,你需要测试这个函数能不能执行,最方便的就是在这个模块内部直接调用,但是如果你不删掉这个用于测试的函数调用,那么在外部引用模块时 这个测试函数也会执行
救命,这里我真的似懂非懂,嘤嘤嘤~~~~