python :def () if _name_=='main'

def

-Python 使用 def 开始函数定义,紧接着是函数名,括号内部为函数的参数,内部为函数的 具体功能实现代码,如果想要函数有返回值, 在 expressions 中的逻辑代码中用 return 返回。

1 def function():
2 print(‘This is a function’)
3 a = 1+2
4 print(a)
上面我们定义了一个名字为 function 的函数,函数没有不接受参数,所以括号内部为空,紧接着就是 函数的功能代码。如果执行该脚本,发现并没有输出任何输出,因为我们只定义了函数,而并没有执行函数。 这时我们在 Python 命令提示符中输入函数调用 function(), 注意这里调用函数的括号不能省略。那么 函数内部的功能代码将会执行,输出结果:

1 This is a function
2 3
如果我们想要在脚本中调用的脚本,只需要在脚本中最后添加函数调用语句

1 function()

if name==’main’

来源:http://www.cnblogs.com/1204guo/p/7966461.html
- 1:name是一个变量。前后加了爽下划线是因为是因为这是系统定义的名字。普通变量不要使用此方式命名变量。
- 2:name就是标识模块的名字的一个系统变量。这里分两种情况:假如当前模块是主模块(也就是调用其他模块的模块),那么此模块名字就是main,通过if判断这样就可以执行“mian:”后面的主函数内容;假如此模块是被import的,则此模块名字为文件名字(不加后面的.py),通过if判断这样就会跳过“mian:”后面的内容。
通过上面方式,python就可以分清楚哪些是主函数,进入主函数执行;并且可以调用其他模块的各个函数等等。

1 #Py2.py
2 #!/usr/bin/env python
3 import Py1.py
4 def test():
5   print '__name__ = ',__name__
6 if __name__ == '__main__':
7   test()
8   print ‘Py1.py __name__ = ’,Py1.__name__

执行结果:

name=main
Py1.py name=Py1
通过结果可以知道,Py2.py直接执行,那么内建变量name的值为main,否则为模块的名字,通过这个特性可以在if语句里面添加测试代码,可以提高减少BUG,提高程序的健壮性 ?
if name == ‘main‘:
test()

你可能感兴趣的:(python :def () if _name_=='main')