@认知·互联网初学者

if __name__ == '__main__':的意义

2020-02-29  本文已影响0人  生信编程日常

这个主函数调用的语句常用,但是初学python的时候可能会有点疑惑。简言之就是,当这个python脚本被直接运行的时候,if __name__ == '__main__':以下的部分会被执行;而当该脚本以模块(module)的形式导入时,以下的代码则不会被执行。
如下例直接调用main()作对比:

  1. main()调用
    定义一个greet.py文件,内容为:
greet = 'hello'

def main():
    print('hello!')

main()

这个脚本会返回"hello!",如果在另一个文件中导入其中的greet变量:

from greet import greet

def greet2(name):
    print(greet + ', ' + name + '!')

greet2('daming')

运行会返回:
hello!
hello, daming!

可以看到导入了greet变量,但是仍然会运行main()这个函数。

  1. if __name__ == '__main__'

将greet.py修改:

greet = 'hello'

def main():
    print('hello!')

if __name__ == '_main_':
    main()

运行greet2.py,返回:
hello, daming!

上一篇下一篇

猜你喜欢

热点阅读