python的"__name__"

   主要讲述python中__name__这个属性的作用…

   通常在写python代码时,在代码结尾处,总会加上以下代码,这有什么作用呢?

1
2
if __name__ == "__main__":
main()

   以constant.pyarea.py这两个文件为例,具体代码如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
### constan.py
# 定义常量
PI = 3.14
#
def main():
print('PI:', PI)

if __name__ == "__main__":
main()
print('__name__:',__name__)
else:
print('constnat file __name__:',__name__)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
### area.py
# 引入constant
import constant
from constant import PI

def area(r):
s = PI*r**2
return s

def main():
s = area(r=2)
print('area:', s)

if __name__ == "__main__":
main()

   单独运行constant.py,运行结果如下所示:

PI: 3.14
name: main

   运行area.py,运行结果如下所示:

name of constnat.py: constant
area: 12.56

   从上面两个代码的运行结果来看,可以知道:一个py文件(如constant.py)自己单独运行时,其__name__ == __main__。但是,当这个py文件被另一个py(如area.py)文件引用时时,其__name__ == constant

有何不可 wechat
Subscribe to my blog by scanning my wechat account~
书山有路勤为径,学海无涯苦作舟~