buh*_*htz 27 python python-3.x
我知道这两个关于文件__init__.py
和问题的问题__main__.py
.
但我真的不明白它们之间的区别.
Ter*_*edy 40
将包导入正在运行的python程序时运行__init__.py.例如,import idlelib
在程序中,运行idlelib/__init__.py
,它没有做任何事情,因为它的唯一目的是将idlelib目录标记为包.另一方面,tkinter/__init__.py
包含大多数tkinter 代码并定义所有窗口小部件类.
当您将程序包作为主程序运行时,__ main__.py将作为"__main__" 运行.例如,python -m idlelib
在命令行运行时idlelib/__main__.py
,它开始空闲.同样,python -m tkinter
运行tkinter/__main__.py
,具有以下行:
from . import _test as main
Run Code Online (Sandbox Code Playgroud)
在这种情况下,.
被tkinter
,所以进口.
的进口tkinter
,它运行tkinter/__init__.py
. _test
是该文件中定义的函数.因此调用main()
(下一行)与python -m tkinter.__init__
在命令行运行具有相同的效果.
小智 8
__init__.py
,除其他外,将目录标记为 python 目录,并允许您在包范围级别设置变量。
__main__.py
,除其他外,如果您尝试运行一组压缩的 python 文件,则会运行。 __main__.py
允许您执行包。
这两个答案都是从您链接的答案中获得的。关于这些事情,你还有什么不明白的地方吗?
归档时间: |
|
查看次数: |
15087 次 |
最近记录: |