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")