007. Python入门经典之二: if __name__ == '__main__':解释

if __name__ == '__main__':
    import sys
    limit = None
    if len(sys.argv) > 1:
        limit = sys.argv[1]
        try:
            limit = int(limit)
        except ValueError:
            print("Usage: %s [number of square roots to calculate]"
                  % sys.argv[0])

 

if __name__ == '__main__'
表示判断执行的是此代码所在的文件。 如果这个文件是作为模块被其他文件调用,不会执行这里面的代码. 只有执行这个文件时, if 里面的语句才会被执行. 这个功能经常可以用于进行测试
__name__是指示当前py文件调用方式的方法. 如果它等于"__main__"就表示是直接执行; 如果是__main__表示执行就是在本文件内部直接执行, 如果不是,则用来被别的文件调用,这个时候
if的条件为False,就不会执行最外层的代码了.

比如在Python文件里面
def test():
  print ("abc")

直接这样写的, 就算是在别的地方导入这个文件,要调用这个test函数,也会执行print ("abc"),因为他是最外层代码(全局代码),但是有时只想直接执行这个文件的时候才运行一些代码,不是的话
(也就是被调用的话)那就不执行这些代码,所以一般会改为
def test():
    if __name__="__main__":
         print ("abc")

 

posted on 2017-03-14 14:26  印子  阅读(148)  评论(0)    收藏  举报

导航