if __name__ == ‘__main__’ 如何正确理解?

“__name__”是Python的内置变量,用于指代当前模块。我们修改上面用到的A模块和B模块,在模块中分别输出模块的名称:

模块A:

# 模块A

print('你好,我是模块A……')

print('模块A中__name__的值:{}'.format(__name__))

print('-------------------------')

模块B:

# 模块B

from package01 import A

print('你好,我是模块B……')

print('模块B中__name__的值:{}'.format(__name__))

执行A模块时,输出结果:

你好我是模块A……
模块A中__name__的值__main__
-------------------------

执行B模块时,输出结果:

你好,我是模块A……
模块A中__name__的值:package01.A
-------------------------
你好,我是模块B……
模块B中__name__的值:__main__

发现神奇之处了吗?当哪个模块被直接执行时,该模块“__name__”的值就是“__main__”,当被导入另一模块时,“__name__”的值就是模块的真实名称。用一个类比来解释一下:记得小时候要轮流打算教室,轮到自己的时候(模块被直接执行的时候),我们会说今天是“我”(__main__)值日,称呼其他人时,我们就会直接喊他们的名字。所以,“__main__”就相当于当事人,或者说第一人称的“我”。

所以,当运行“if __name__==’__main__’:”语句时,如果当前模块时被直接执行,__name__的值就是__main__,条件判断的结果为True,“if __name__==’__main__’:”下面的代码块就会被执行。

编程

用python爬虫在京东抢购茅台(严谨版)

2021-9-23 14:59:32

编程

InsecureRequestWarning: Unverified HTTPS request is being made to host 'xxx'. Adding certificate verification is strongly advised. See:

2021-9-27 11:20:53