【Python main 函数以及 __name__属性】
2017-08-29 16:02
351 查看
熟悉Java 或 C/C++ 程序的用户都知道,程序的执行需要入口程序。例如,在Java中,我们在准备 Run 的类中总会定义如下的main方法作为程序入口。
而在Python的 “.py” 文件中,Python解释器会执行暴露在 function中之外的全局代码。对于main方法实际上只是我们逻辑的区分。典型的写法为:
从代码逻辑可以看出,程序会判断 “__name__” 属性的值是否为 “__main__”,如果是,则执行some_function(),如果不是,则不会做任何操作。
name 以双下划线开头,表明该属性是Python的系统内置属性。该属性的取值分为两种情况:
当前模块作为主执行模块时:则 __name__ 的值为 __main__
当前模块不是主执行模块时:则 __name__ 的值为当前模块的模块名
例如,在终端中直接执行 python hello.py,则此时,hello.py是执行的主模块,则 __name__ 的值为 __main__ 。如果通过import hello的形式引入hello.py模块,并调用hello模块中的方法,则 __name__的值为 “hello”.
public static void main(String []args){ // TODO. }
而在Python的 “.py” 文件中,Python解释器会执行暴露在 function中之外的全局代码。对于main方法实际上只是我们逻辑的区分。典型的写法为:
# hello.py if __name__ == "__main__": some_function()
从代码逻辑可以看出,程序会判断 “__name__” 属性的值是否为 “__main__”,如果是,则执行some_function(),如果不是,则不会做任何操作。
name 以双下划线开头,表明该属性是Python的系统内置属性。该属性的取值分为两种情况:
当前模块作为主执行模块时:则 __name__ 的值为 __main__
当前模块不是主执行模块时:则 __name__ 的值为当前模块的模块名
例如,在终端中直接执行 python hello.py,则此时,hello.py是执行的主模块,则 __name__ 的值为 __main__ 。如果通过import hello的形式引入hello.py模块,并调用hello模块中的方法,则 __name__的值为 “hello”.
相关文章推荐
- 关于python函数中的if __name__ =="__main__"语句
- python文件中的__name__=='__main__'的使用及调用其他py文件中的函数方法
- 牛人总结python中string模块各属性以及函数的用法,果断转了,好东西
- caffe的python接口学习(12):查看属性、方法以及函数参数
- 牛人总结python中string模块各属性以及函数的用法,果断转了,好东西
- python main()函数 name == ‘main’:
- python中string模块各属性以及函数的用法
- python中string模块各属性以及函数的用法介绍
- python中string模块各属性以及函数的用法
- python中string模块各属性以及函数的用法介绍
- Python的__name__与__main__函数
- python脚本中的函数开发时怎么调试(__name__=="__main__")
- python中if __name__ == '__main__': 的解析
- python中的__name__和__main__
- python字符编码以及函数接口
- [Python]属性和property内建函数
- Python中的类属性和实例属性以及静态方法和类方法
- python类学习以及mro--多继承属性查找机制
- 浅析python 中__name__ = '__main__' 的作用
- 关于Python中if __name__ == "__main__"的理解