2017-03-06 3 views
0

Ich habe ein Problem mit der Funktion der Python-Klasse, die zweimal aufgerufen wird. Ich benutze Spyder IDE.Warum eine Funktion der Python-Klasse zweimal aufgerufen wird

Hier ist mein einfacher Code

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


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

Als ich "Run File" Taste drücken ... das Ergebnis

a 
a 

ist aber, wenn ich versuche alles, und drücken Sie "Run Cell" zu markieren ... das Ergebnis ist

a 

Ich würde gerne wissen, was passiert, wenn ich "Run File" drücken und wie Sie dieses Problem lösen.

Vielen Dank

Antwort

1

Weil Sie Module, nicht Klassen importieren soll. Wenn Sie also from Test import * tun, führen Sie Ihren gesamten Code aus, einschließlich Instanziierung und Aufruf der Methode f. Und nach dem Importieren werden Sie instanziiert und erneut aufgerufen, deshalb wird es zweimal gedruckt, weil es zweimal ausgeführt wird.

Verwandte Themen