为什么 python class 的函数被调用了两次

Why a function of python class is called twice

我对调用两次的 python class 函数有疑问。 我正在使用 Spyder IDE.

这是我的简单代码

class Test:
    def f(self):
        print("a")


from Test import *
t = Test()
t.f()

当我按下 "Run File" 按钮...结果是

a
a

但是当我尝试突出显示所有内容并按 "Run Cell"...结果是

a

我想知道当我按下 "Run File" 时会发生什么以及如何解决这个问题。

非常感谢

因为您应该导入 模块 ,而不是 类。因此,当您执行 from Test import * 时,您正在 运行 设置所有代码,其中包括实例化和对 f 方法的调用。在导入之后,您正在实例化并再次调用它,这就是它被打印两次的原因,因为它被 运行 两次。