我遇到了两次调用的python类函数的问题。 我正在使用Spyder IDE。
这是我的简单代码
class Test:
def f(self):
print("a")
from Test import *
t = Test()
t.f()
当我按下“运行文件”按钮时......结果是
a
a
但是当我尝试突出显示所有内容并按“运行单元格”时...结果是
a
我想知道当我按“运行文件”时会发生什么以及如何解决这个问题。
非常感谢
答案 0 :(得分:4)
因为您应该导入模块,而不是类。因此,当您执行from Test import *
时,您正在运行所有代码,其中包括实例化和调用f
方法。在导入之后,你实例化并再次调用它,这就是它被打印两次的原因,因为它正在运行两次。