Merge: #15104: improve the discussion of __main__.
This commit is contained in:
commit
94255f3a80
|
@ -5,13 +5,19 @@
|
||||||
.. module:: __main__
|
.. module:: __main__
|
||||||
:synopsis: The environment where the top-level script is run.
|
:synopsis: The environment where the top-level script is run.
|
||||||
|
|
||||||
|
'__main__' is the name of the scope in which top-level code executes.
|
||||||
|
A module's __name__ is set equal to '__main__' when read from
|
||||||
|
standard input, a script, or from an interactive prompt.
|
||||||
|
|
||||||
This module represents the (otherwise anonymous) scope in which the
|
A module can discover whether or not it is running in the main scope by
|
||||||
interpreter's main program executes --- commands read either from standard
|
checking its own __name__, which allows a common idiom for conditionally
|
||||||
input, from a script file, or from an interactive prompt. It is this
|
executing code in a module when it is run as a script or with `python
|
||||||
environment in which the idiomatic "conditional script" stanza causes a script
|
-m` but not when it is imported:
|
||||||
to run::
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
# execute only if run as a script
|
||||||
main()
|
main()
|
||||||
|
|
||||||
|
For a package, the same effect can be achieved by including a
|
||||||
|
__main__.py module, the contents of which will be executed when the
|
||||||
|
module is run with -m.
|
||||||
|
|
Loading…
Reference in New Issue