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

时间:2017-03-06 08:18:00

标签: python spyder

我遇到了两次调用的python类函数的问题。 我正在使用Spyder IDE。

这是我的简单代码

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


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

当我按下“运行文件”按钮时......结果是

a
a

但是当我尝试突出显示所有内容并按“运行单元格”时...结果是

a

我想知道当我按“运行文件”时会发生什么以及如何解决这个问题。

非常感谢

1 个答案:

答案 0 :(得分:4)

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