MyClass.f
fa riferimento all'oggetto funzione f che è una proprietà di MyClass. Nel tuo caso, f è un metodo di istanza (ha un parametro self) quindi è chiamato su una particolare istanza. È "non legato" perché ti stai riferendo a f senza specificare una classe specifica, un po 'come riferirsi a un volante senza una macchina.
È possibile creare un'istanza di MyClass e chiamare f da esso in questo modo: (. Questo specifica quale istanza per chiamare f da, in modo da poter fare riferimento a variabili di istanza e simili)
x = MyClass()
x.f()
Stai utilizzando f come static method
. Questi metodi non sono associati a una particolare classe e possono solo fare riferimento ai loro parametri.
un metodo statico sarebbe stato creato e utilizzato in questo modo:
class MyClass(object):
def f(): #no self parameter
return 'hello world'
print MyClass.f()
fonte
2010-02-09 21:47:12
Cosa esercitazione stai leggendo? Dove hai visto il codice come questo? –
Stavo leggendo da un libro di testo, tuttavia, era piuttosto vago riguardo al codice e non forniva un semplice esempio. Così mi sono messo a trafficare e ho cercato di far funzionare qualcosa. – Pax