huyanmin 发表于 2021-4-13 20:59:28

python51课习题,__name__的用法,求详解

# a.py
import b

def x():
    print('x')

if __name__ == "__main__":#为什么加了一句,就不报错了呢?我认为b.y()在此位置应该作为主程序的一部分,如果作为主程序的一部分,b.y()还是会执行,还是会报错
    b.y()

# b.py
import a

def y():
    print('y')

if __name__ == "__main__":
    a.x()

不能懒 发表于 2021-4-13 21:15:54

一个python文件通常有两种使用方法,第一是作为脚本直接执行,第二是 import 到其他的 python 脚本中被调用(模块重用)执行。因此 if __name__ == 'main': 的作用就是控制这两种情况执行代码的过程,在 if __name__ == 'main': 下的代码只有在第一种情况下(即文件作为脚本直接执行)才会被执行,而 import 到其他脚本中是不会被执行的

huyanmin 发表于 2021-4-13 21:51:42

我感觉是作为脚本运行的呢
页: [1]
查看完整版本: python51课习题,__name__的用法,求详解