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