从品牌网站建设到网络营销策划,从策略到执行的一站式服务
每一个module都有一个叫__name__的变量,它的值就是module的名字
正定网站制作公司哪家好,找成都创新互联公司!从网页设计、网站建设、微信开发、APP开发、响应式网站开发等网站项目制作,到程序开发,运营维护。成都创新互联公司从2013年创立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联公司。
比如os.__name__ 是"os",sys模块的__name__是"sys"
__main__也是一个模块,但是这个模块比较特殊,其他的模块都有一个对应的同名py文件,比如os.py, sys.py,这个模块却没有对应的固定名字的py文件,不管你执行 什么.py,它的名字都是__main__。它指的是正在运行的模块,即主模块。
上面说过,每个模块都有__name__这个变量, 那么主模块也不例外,主模块的__name__变量,值就是"__main__"
解释了半天,再说你的问题:__name__和name是两个不同的变量,__name__有定义而name没有定义,使用没有定义的变量就要出错,这没有什么好说的。
例如你写:
if name == '__main__':是一个变量未定义的错误
而当你写 if __name__ == 'main':的时候,由于__name__的值其实是'__main__',所以if的条件为假,不会执行你的代码。
最后,你可以自己写一点测试代码来探索这个问题,文件名就叫test.py,代码也很简单:
print(__name__)
import test
输出有两行,第一行毫无疑问是__main__,第二行比较有意思,输出是test,因为此时test.py作为一个模块被import其__name__就是"test"。
上面这个例子就是说在一个类中,只有__a这个函数是内部函数,其他都可以在外部调,在python中至少大家习惯的写法而已,无实际作用
Python 命名一般来说有一下不成文的规则 :
模块名一般使用全部小写 如 myphone
类名第一个字母大写,如果有多个单词,每一个单词的第一个字母大写如 : MyPhone
函数名 : 小写, 如果有多个单词用下划线隔开 如 my_phone
常量名字一般全大写 : MYPHONE
self是对实例自己的引用。
self.a()的意思是"调用自己的过程a"。
试想,有定义一个函数a,同时,类中也有过程a,要区分两者,在类中就要通过是否使用self前缀来区分,在外部就要通过是否有实例名来区分。
参考以下代码:
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图