python 中 if __name__ == "__main__" 的理解

1. python 中模块的__name__ 属性

python中所有的模块(import 之后的都是模块) 都有一个内置属性 __name__;一个模块的__name__ 取决于怎么来应用它:

  • 如果执行这个 *.py 的脚本:则__name__ 默认赋值 "__main__"
    import sys
    dict = {"red":31,"green":32,"yellow":"33","blue":34}
    def set_color(color,str):
        num = dict[color]
        print "%s[%s;2m%s%s[0m" % (chr(27),num,str,chr(27))
    
    #set_color("red","hi,shuming")
    print __name__
    if __name__ == "__main__":
        set_color(sys.argv[1],sys.argv[2])<pre name="code" class="html">./color.py "yellow" "I am caoshuming"
    __main__  #__name__ 的值
    I am caoshuming  #输出结果
    
     
  • 如果在在其他的脚本中import 这个模块,那这个模块的__name__ 属性的值就是脚本的名称(比如color.py  ------>__name__ = color)
  • #!/usr/bin/python
    import color
    print "__name__ = %s" % (color.__name__)

    __name__ = color  #接口是import 的模块的名字

    2. python 脚本中 if __name__ ==  "__main__" 的作用

  • python 脚本中有些命令需要在手动执行时执行,但是在别的脚本import 模块时不执行,这时就用 if __name__ == "__main__" 进行控制;
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值