为什么Python类的一个函数会被调用两次

Kun*_*ien 2 python spyder

我对被调用两次的 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)

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

非常感谢

Car*_*rós 6

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