为什么 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
方法的调用。在导入之后,您正在实例化并再次调用它,这就是它被打印两次的原因,因为它被 运行 两次。
我对调用两次的 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
方法的调用。在导入之后,您正在实例化并再次调用它,这就是它被打印两次的原因,因为它被 运行 两次。