点击(此处)折叠或打开
- if __name__ == '__main__':
- print(__version__)
点击(此处)折叠或打开
- def main():
- ......
-
- if __name == "__main__":
- main();
顺便学习了一下__name__
在模块中直接使用,__name__是__main__;
在模块中导入模块,__name__是模块名;
在类中使用,__name__是类名.
Modules…
Predefined (writable) attributes: __name__ is the module’s name;
… Classes…
Special attributes: __name__ is the class name;
29.4. __main__ — Top-level script environment
'__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.
A module can discover whether or not it is running in the main scope by checking its own __name__, which allows a common idiom for conditionally executing code in a module when it is run as a script or with python -m but not when it is imported:
if __name__ == "__main__": # execute only if run as a script 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.
t@localhost python$ cat namemethod.py
#!/usr/bin/env python3
def tprint():
print('__name__ is %s' %(__name__))
if __name__ == '__main__':
tprint()
else:
print('import:')
tprint()
t@localhost python$ ./namemethod.py
__name__ is __main__
t@localhost python$ cat test.py
#!/usr/bin/env python3
mport namemethod
tprint()
import:
__name__ is namemethod
__name__ is namemethod