name属性
一个模块被另一个程序第一次引入时,其主程序将运行。如果我们想在模块被引入时,模块中的某一程序块不执行,我们可以用name属性来使该程序块仅在该模块自身运行时执行。
if __name__ == '__main__':
print('程序自身在运行')
else:
print('我来自另一模块')
包
目录只有包含一个叫做 init.py 的文件才会被认作是一个包
调用示例
# Python的from语句让你从模块中导入一个指定的部分到当前命名空间中
# run.py
from utils.dateutil import datautils
if __name__ == '__main__':
datautils.showDate()
datautils.py
import time
class datautils:
def showDate(): # @NoSelf
print("Now", time.asctime(time.localtime(time.time())))
运行结果
Now Thu Mar 1 19:55:40 2018