理解python的main函数

2018-12-24  本文已影响0人  jkb3登录专用

首先来看一段代码。

http://www.cnblogs.com/keguo/p/9760361.html

# import os
# import time
import datetime

print('Hello World!')
print('Time is ', datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S %A'))
print('__name__ value: ', __name__)


def main():
    print('this message is from main function')


if __name__ == '__main__':
    main()
    # print(__name__)

直接执行会输出,

__name__value:main

代码段二 文件1 main_test.py

代码块
# import os
# import time
import datetime

print('Hello World!')
print('__name__ value: ', __name__)

def main():
    print('this message is from main function')
if __name__ == '__main__':
    main()
    # print(__name__)

代码段二: print_main_module.py

import print_main_function

print("Done!")

运行print_main_module.py输出为:

hello world!
__name__value:,print_main_function
Done!

对比两段程序运行结果可发现,当直接运行包含main函数的程序时,main函数会被执行,同时程序的name变量值为'main'。

当包含有main函数的程序被作为module被import时,该module程序(print_main_function.py)对应的name变量值为该module对应的函数名称,因此该module程序(print_main_function.py)中的main函数不会被执行。

上一篇下一篇

猜你喜欢

热点阅读