2017-03-06 165 views
0

我有一個被稱爲兩次的python類的函數的問題。 我正在使用Spyder IDE。爲什麼一個python類的函數被調用兩次

這裏是我的簡單的代碼

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


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

當我按下「運行文件」按鈕......結果是

a 
a 

但是,當我試圖強調一切按「運行細胞」 ...結果是

a 

我想知道當我按下「運行文件」以及如何解決此問題時會發生什麼。

非常感謝

回答

1

因爲你要導入模塊,而不是類。所以當你在做from Test import *時,你正在運行你所有的代碼,包括實例化和調用f方法。並且在導入之後,您將實例化並再次調用它,所以這就是它被打印兩次的原因,因爲它正在運行兩次。

相關問題