您的位置:首页 > 编程语言 > Python开发

Python 为什么需要使用__name__=='__main__'

2013-12-18 22:29 519 查看
每个模块都有自己的__name__属性,但__name__的值是会变化的,与__doc__不一样。所以可以利用这一点来进行一些操作:

[plain] view
plaincopy

如果某模块被import,则该模块的__name__为这个模块的名字

如果某模块被直接运行,则其__name__为'__main__'

在每一个模块中,都可以使用如下格式来放置需要运行的代码,相当于C中的main()函数:

[python] view
plaincopy

if __name__=='__main__':

#whatever you want to run.

由于Python中将没有缩进的代码均视为需要执行的,所以,当某模块被import 时,这个模块中的这些代码也会被执行一次,而这种结果往往并不是想要看到的。这时,如果使用上面这种结构,通过判断模块当前的__name__值,则可以有效避免这种情况的发生。

同时,可以利用这一特性,对模块的测试写一个专门test()函数,然后将test()放在if语句中,便于测试。因为只有当模块被执行时才会执行if语句,进而执行test()函数,在被import时,不会产生干扰。

所以,建议将每个模块中需要执行的代码均放在这个if模块中。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: