2017-03-06 22 views
0

2回呼び出されるpythonクラスの関数に問題があります。 私はSpyder IDEを使用しています。ここでなぜPythonクラスの関数が2回呼び出されるのですか

は私の単純なコード

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


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

私はボタンを「実行ファイル」を押すと...結果は

a 
a 

ですが、私はすべてを押して「ファイル名を指定して実行セル」を強調表示しようとすると、あります...結果は

a 

私は "ファイルの実行"を押してこの問題を解決する方法を知りたいと思います。

感謝

答えて

1

あなたはモジュール、ないクラスをインポートする必要がありますので。したがって、from Test import *を実行しているときは、すべてのコードを実行しています。これには、インスタンシエーションとfメソッドへの呼び出しが含まれます。インポート後、インスタンス化して再度呼び出すので、2度実行されているので、2度印刷されます。

関連する問題