一个python文件通常有两种使用方法,
- 第一是作为脚本直接执行
- 第二是 import 到其他的 python 脚本中被调用(模块重用)执行
因此 if __name__ == 'main': 的作用就是控制这两种情况执行代码的过程,
在 if __name__ == 'main': 下的代码
- 第一种情况下,(即文件作为脚本直接执行)才会被执行
- 第二种情况下,import 到其他脚本中是不会被执行的
举例说明如下
文件作为脚本直接执行脚本文件名:main.py
第一种:【if __name__ == '__main__'】做为脚本执行,其效果如下
代码如下:
def print_hi(name):
print()
print(f'Hi, {name}')
print('Hi, '+name)
if __name__ == '__main__':
print_hi('PyCharm')
输出结果:
Hi, PyCharm
Hi, PyCharm
直接输出【print_hi()】方法效果等同于【if __name__ == '__main__'】
代码如下:
def print_hi(name):
print()
print(f'Hi, {name}')
print('Hi, '+name) # P
# Press ⌘F8 to toggle the breakpoint.
if __name__ == '__main__':
print_hi('PyCharm')
print()
print_hi('PyCharm_Data')
输出结果:
Hi, PyCharm
Hi, PyCharm
Hi, PyCharm_Data
Hi, PyCharm_Data
import 到其他脚本中
脚本文件名:importMain.py
import某脚本的时候,该【if __name__ == 'main'】下的调用是不会生效
代码如下:
import main(main指的是第一种脚本文件main.py)
输出结果:
Hi, PyCharm_Data
Hi, PyCharm_Data
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)