python中关于if __name__ == '__main__'的问题

# const.py

PI = 3.14


def train():
    print("PI:", PI)

train()

# area.py

from const import PI


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


def calculate():
    print("round area: ", calc_round_area(2))

calculate()

输出结果为

PI: 3.14
round area: 12.56

为什么在只调用了const中pi的情况下,const中的train函数也会被执行啊,不是没有调用它吗

因为在const.py里有train(),对train调用了。
整个py都会被执行的。
删除就不会有。