美文网首页@认知·互联网初学者
if __name__ == '__main__':的意义

if __name__ == '__main__':的意义

作者: 生信编程日常 | 来源:发表于2020-02-29 23:17 被阅读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!

    相关文章

      网友评论

        本文标题:if __name__ == '__main__':的意义

        本文链接:https://www.haomeiwen.com/subject/wwkihhtx.html