if __name__ == '__main__':作用

1、不使用if __name__ == '__main__'代码。

1)第一段代码:直接新建两个python文件;

(1)新建const.py

PI = 3.14

def main():
    print('const.py file of PI:', PI)

main()

执行代码结果:
const.py file of PI: 3.14
View Code

(2)新建area.py

from const import PI

def calc_route_area(radius):
    return PI * (radius ** 2)

def main():
    print('area.py of routd area:', calc_route_area(2))

main()


执行代码结果:
const.py file of PI: 3.14      #这是const.py文件中的main()函数的结果
area.py of routd area: 12.56   #这是area.py文件中的main()函数的结果
View Code

2)调用测试

area.py主动调用const.py的结果:

执行代码结果:
const.py file of PI: 3.14
area.py of routd area: 12.56

第一段代码area.py调用const.py内的PI变量,执行两次;
  第一次,是直接运行了const.py内的main()函数,
  第二次,是area.py调用const.py内的变量进行运算。

2、第二段代码:使用if __name__ == '__main__'代码。

 

1)直接新建两个python文件;

 

(1)新建const.py

PI = 3.14

def main():
    print('const.py file of PI:', PI)

if __name__ == '__main__':

执行代码结果:
const.py file of PI: 3.14
View Code

 (2)新建area.py

from const import PI

def calc_route_area(radius):
    return PI * (radius ** 2)

def main():
    print('area.py of routd area:', calc_route_area(2))

main()
执行代码结果:
area.py of routd area: 12.56    
View Code

2)调用测试

area.py主动调用const.py的结果:

执行代码结果:
const.py file of PI: 3.14
area.py of routd area: 12.56
第二段代码area.py调用const.py内的PI变量,仅执行一次;
  也就是是area.py调用const.py内的PI变量进行运算。


总结:
1、const.py作为__main__主函数时,才打印结果信息。在const.py代码末尾追加print(__name__)查看
2、const.py如果仅仅被其他函数调用时,自己不输出任何结果信息。在area.py代码加入末尾追加print(__name__),会看到const文件形式存在,不是__main__的文件形式
3、主要的作用时作为测试使用,area.py运行时,不想让const.py的代码运行,显示任何的记过。


查看资料文档:https://www.cnblogs.com/yaohong/p/8660209.html


 
 

猜你喜欢

转载自www.cnblogs.com/slyy/p/12188049.html