为什么一个python类的函数被调用两次
问题描述:
我有一个被称为两次的python类的函数的问题。 我正在使用Spyder IDE。为什么一个python类的函数被调用两次
这里是我的简单的代码
class Test:
def f(self):
print("a")
from Test import *
t = Test()
t.f()
当我按下“运行文件”按钮......结果是
a
a
但是,当我试图强调一切按“运行细胞” ...结果是
a
我想知道当我按下“运行文件”以及如何解决此问题时会发生什么。
非常感谢
答
因为你要导入模块,而不是类。所以当你在做from Test import *
时,你正在运行你所有的代码,包括实例化和调用f
方法。并且在导入之后,您将实例化并再次调用它,所以这就是它被打印两次的原因,因为它正在运行两次。