在python中, 每一个模块, 应该包含以下工具
- 全局属性
- 方法
- 类
实际上, 每一个python文件, 还可以有主方法, 那么在被导入时, 主方法会自动执行
所以, 如果此模块是工具包, 就不要写主方法了
模块测试
__name__是python模块的内置属性, 每一个模块都可以调用, 比如
print(__name__) #输出的是__main__
对于每一个python文件, 在main方法中输出的都是__main__
对于导入的模块, 也内置了此属性, 默认保留的就是模块名
如果你定义了一个__name__全局属性, 则会覆盖掉系统自带的模块名字符串
此内置属性, 通常用于开发时测试代码, 也就是判断当前__name__是当前模块的__name__, 才会执行, 一般不会覆盖此名称, 则默认为__main__
def main():
#测试代码
if(__name__=="__main__"):
main()
则此模块在被导入时不会执行此测试代码