2012-04-13 14 views
0

Kann eine Instanz einer Klasse ausgeführt werden? Ich meine nicht, eine Klasse instanziieren oder eine Methode ausführen. Ich meine etwas wie ein Geschwister zu __string__, das eine Funktion zurückgeben würde. Nennen wir es __func__.Python - eine Instanz ausführen?

class ClassFunc (object): 
    def __func__ (self): 
     print "I'm a class!" 

>>> myCF = ClassFunc() 
>>> myCF() 
I'm a class! 

Antwort

9

Schließen. Sie wollen __call__().

+2

Ausgezeichnet. Vielen Dank! (Ich verspreche, dass ich Google eine Weile gesucht habe, aber ich konnte die Antwort nicht finden) –

3
>>> class ClassFunc (object): 
     def __call__ (self): 
      print "I'm a class!" 


>>> myCF = ClassFunc() 
>>> myCF() 
I'm a class! 
+1

Danke, jamylak. –

Verwandte Themen