Python程序中__name__变量,解释:if __name__ == '__main__': 转载:https://www.cnblogs.com/wfsh-hebau/p/10030235.html

py程序即可以直接run,也可以通过import py文件名 导入后运行。

1. 直接运行时,变量__name__的值为‘__main__’

2.import py文件名 导入后,再运行,其变量__name__的值为‘py文件名’

例如:

#在nameDemo.py中编写如下程序:

def printName():

  print(__name__)

printName()

1. 直接运行,输出__name__

2. 在IDLE下通过导入语句 import nameDemo,输出 nameDemo

3.if __name__ == '__main__':的意思是:只有在本程序直接运行的情况下,才会执行某些操作。

例如,修改以上程序:

#在nameDemo.py中编写如下程序:

def printName():

  print(__name__)

if __name__ == '__main__':

  printName()

在IDLE下通过导入语句 import nameDemo,就不会运行printName(),因为此时的__name__ == 'nameDemo'

当然可以通过“模块.方法”的方式调用,即nameDemo.printName(), 其结果为'nameDemo'

py程序即可以直接run,也可以通过import py文件名 导入后运行。

1. 直接运行时,变量__name__的值为‘__main__’

2.import py文件名 导入后,再运行,其变量__name__的值为‘py文件名’

例如:

#在nameDemo.py中编写如下程序:

def printName():

  print(__name__)

printName()

1. 直接运行,输出__name__

2. 在IDLE下通过导入语句 import nameDemo,输出 nameDemo

3.if __name__ == '__main__':的意思是:只有在本程序直接运行的情况下,才会执行某些操作。

例如,修改以上程序:

#在nameDemo.py中编写如下程序:

def printName():

  print(__name__)

if __name__ == '__main__':

  printName()

在IDLE下通过导入语句 import nameDemo,就不会运行printName(),因为此时的__name__ == 'nameDemo'

当然可以通过“模块.方法”的方式调用,即nameDemo.printName(), 其结果为'nameDemo'