Python 中的 if __name__ == ‘__main__’ 该如何理解

51changxue
51changxue
51changxue
54
文章
3
评论
2018年4月6日07:35:59 评论 220 views

如果模块是被直接运行的,则代码块被运行,如果模块是被导入的,则代码块不被运行。在把a.py导入到b.py中后,程序依旧是从上到下顺序执行,直接把a.py又执行了一遍,但是在a.py中 if __name__ == '__main__'下的不会在引用文件中执行,因为在b.py中的模块a的__name__直接等于模块名a,而不是当前运行的__main__。

a.py

print(__name__)
if __name__ == '__main__':
    print('yes')

运行结果:

"D:\Program Files\python\python.exe" "D:/Program Files/python/example/a.py"
__main__
yes

Process finished with exit code 0

 

b.py

import a
class hi():
    def hello():
        print(__name__)

if __name__ == '__main__':#if缩进的位置要注意,如果和class 的内容等齐,那if的内容将被当做class的内容
        hi.hello()

运行结果:

"D:\Program Files\python\python.exe" "D:/Program Files/python/example/b.py"
a
__main__

Process finished with exit code 0

 

51changxue
  • 本文由 发表于 2018年4月6日07:35:59
  • 转载请务必保留本文链接:https://51changxue.com/403.html
pycharm永久破解激活教程 Python

pycharm永久破解激活教程

PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、...
PYTHON添加线程 Python

PYTHON添加线程

线程调用: import threading #导入模块 #def main(): # print(threading.active_count()) #获取已激活的线程数 # print(threa...
Python多线程(threading)与多进程(multiprocessing ) Python

Python多线程(threading)与多进程(multiprocessing )

对于操作系统来说,一个任务就是一个进程。例如打开浏览器,打开word,打开记事本等等,都是独立的任务,它们各自为一个或者多个进程。这里要注意的是,同一种任务打开多个,分别属于不同进程,例如chrome...
Tkinter控件快速引用总结 Python

Tkinter控件快速引用总结

1.创建窗口主题 2.Lable标签 3.Button按钮 4.Entry单行文本框 5.Text多行文本框 6.ListBox列表 7.Radiobutton单选框 8.Checkbutton复选框...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: