关于Python的主(main)函数的原理
2016-10-13 09:39
639 查看
主函数调用函数的小程序:
释义:
5行“ if __name__ == '__main__':”含义:python文件后缀为".py"。
其中分两类:一类是直接执行, 另一类是作为模块被调用(import ***.py).
__name__ 作为模块的内置属性,即".py"文件的调用方式。如果等于“__main__"就直接执行本文件, 如果是别的就是作为模块被调用
6行:sys.argv 用来获取命令行参数。对于“python code.py input_name output_name ”,共三个参数:code.py为sys.argv[0], input_name 为sys.argv[1], output_name为sys.argv[2]
。 同时注意引入模块sys
初次接触Python的人会很不习惯Python没有main主函数。 以下面的程序为例:
[python] view
plain copy
#hello.py
def foo():
str="function"
print(str);
if __name__=="__main__":
print("main")
foo()
其中if __name__=="__main__":这个程序块类似与Java和C语言的中main(主)函数
在Cmd中运行结果
C:\work\python\divepy>python hello.py
main
function
在Python Shell中运行结果
>>> import hello
>>> hello.foo()
function
>>> hello.__name__
'hello'
>>>
可以发现这个内置属性__name__自动的发生了变化。
这是由于当你以单个文件运行时,__name__便是__main__
当你以模块导入使用时,这个属性便是这个模块的名字。
1 import sys 2 def Fuc(): 3 print 'hello' 4 5 if __name__ == '__main__': 6 if len(sys.argv) != 3: 7 print 'Usage: python input_name output_name' 8 exit(1) 9 f_input = sys.argv[1] 10 f_output = sys.argv[2] 11 Fuc() 12
释义:
5行“ if __name__ == '__main__':”含义:python文件后缀为".py"。
其中分两类:一类是直接执行, 另一类是作为模块被调用(import ***.py).
__name__ 作为模块的内置属性,即".py"文件的调用方式。如果等于“__main__"就直接执行本文件, 如果是别的就是作为模块被调用
6行:sys.argv 用来获取命令行参数。对于“python code.py input_name output_name ”,共三个参数:code.py为sys.argv[0], input_name 为sys.argv[1], output_name为sys.argv[2]
。 同时注意引入模块sys
初次接触Python的人会很不习惯Python没有main主函数。 以下面的程序为例:
[python] view
plain copy
#hello.py
def foo():
str="function"
print(str);
if __name__=="__main__":
print("main")
foo()
其中if __name__=="__main__":这个程序块类似与Java和C语言的中main(主)函数
在Cmd中运行结果
C:\work\python\divepy>python hello.py
main
function
在Python Shell中运行结果
>>> import hello
>>> hello.foo()
function
>>> hello.__name__
'hello'
>>>
可以发现这个内置属性__name__自动的发生了变化。
这是由于当你以单个文件运行时,__name__便是__main__
当你以模块导入使用时,这个属性便是这个模块的名字。
相关文章推荐
- 关于Python的主(main)函数问题--转
- 关于python函数中的if __name__ =="__main__"语句
- 【Python】主(main)函数的原理
- 关于Python的主(main)函数问题--转
- 关于函数strtok和strtok_r的使用要点和实现原理(一)
- 关于main()函数[转]
- 关于main()函数
- 关于估价函数的实现-------基于python语言(网络爬虫)
- 关于函数strtok和strtok_r的使用要点和实现原理
- 关于main()函数的小技巧
- Python的主(main)函数问题
- 关于python字符串string的strip函数的诡异现象
- 关于C语言中main()函数的理解
- python写的模块:财务管理中关于时间价值的函数
- 关于函数strtok和strtok_r的使用要点和实现原理
- 关于函数strtok和strtok_r的使用要点和实现原理2
- 关于函数strtok和strtok_r的使用要点和实现原理(一)
- 关于main()函数
- 学点 C 语言(41): 函数 - 关于 main 函数
- 关于函数strtok和strtok_r的使用要点和实现原理(一)