一.自定义模块
模块名的命名规则同变量的命名规则。
1.导入模块
语法1:import 模块名
#调用模块中的方法(或变量),需要使用模块名.方法()(或变量)
语法2:from 模块名 import *
#调用时可以直接写调用方法或变量。不需要再写模块名。
使用from <mode_name> import *导入这个模块中“所有”的变量和函数。
·】本质时读取模块里的__all__属性,看这个属性里定义了哪些变量和数。若是__all__中为定义的属性,则再调用的时候,便不能直接使用这个属性,需要再次调用import 模块名来导入该属性,此时同语法1 。
·】如果模块里没有定义__all__才会导入所有不以_开头的变量和函数。
1)以下划线_开头的变量
在模块中,一个变量以下划线_开始的变量,建议只在本模块中使用。使用语法2的方式无法导入。
将一个变量规定使之仅仅在自己的模块中使用
语法:del (变量名1,变量2,.....)#故而约定俗成:规定以下划线_开头的变量仅仅在本模块中使用。
2)__name__
当直接运行这个.py文件时,值是__main__
如果这个文件做为模块导入时,值是文件名
若使本.py文件作为模块输入时,在导入文件中这部分被导入文件的语句不执行:
语法:if __name__ == '__main__':
<被保护语句>