zoukankan      html  css  js  c++  java
  • python--关于if __name__==__main__的解释

    在解释之前首先我们看下__name__这个变量存的是什么:

    #!/usr/bin/env python
    # -*- coding:utf-8 -*- 
    print(__name__) 结果: __main__

    结果分析:当我们运行的程序的时候,__name__这个内置变量值就是__main__。

    下面我们来看下导入模块时候__name__变量值:

    test.py代码如下

    #!/usr/bin/env python
    # -*- coding:utf-8 -*- 
    
    print("this is before if __name__:%s"%__name__)
    if __name__=='__main__':
        print("this is after if __name__:%s"%__name__)

    导入test模块并执行

    #/usr/bin/env python
    # -*- coding:utf-8 -*-
    import test 结果: this is before if __name__:test

    可以看到,此时变量__name__值为模块名,并没有执行if中的语句,结果只有一条。

    综上分析:

    if __name__=='__main__'说白了就是判断__name__变量是不是等于__main__,当执行文件本身时候__name__变量等于main,此时判断成立并执行判断语句中的代码,当调用该模块的时候__name__并不等于__main__条件不成立,不执行判断下面的预计,可以认为为了调试模块,在模块导入的时候并不执行if下面的语句。

  • 相关阅读:
    Alpha版本发布说明
    团队作业week9
    Alpha版本发布时间安排
    2014年团队博客
    本周团队分数统计
    当前个人及团队分数统计
    团队作业week7
    Java FX入门
    Java第06次实验提纲(集合)
    Java第04次实验提纲(面向对象2-继承、多态、抽象类与接口)
  • 原文地址:https://www.cnblogs.com/R-bear/p/7726584.html
Copyright © 2011-2022 走看看