重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
上面这个例子就是说在一个类中,只有__a这个函数是内部函数,其他都可以在外部调,在python中至少大家习惯的写法而已,无实际作用
成都创新互联专注于老边网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供老边营销型网站建设,老边网站制作、老边网页设计、老边网站官网定制、成都微信小程序服务,打造老边网络公司原创品牌,更为您提供老边网站排名全网营销落地服务。
每一个module都有一个叫__name__的变量,它的值就是module的名字
比如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"。
直接单击数字键盘的减号。
也可以在英文输入法状态下直接单击p键上的横线键,即可输出短“-”。
print()函数是非常常见的一个函数,也是一个输出函数,例如,print(‘Hello-world‘)执行该代码后会显示“Hello-world”。