MyClass.f
odnosi się do obiektu funkcji f, który jest własnością MyClass. W twoim przypadku f jest metodą instancji (ma własny parametr), więc jest wywoływana w konkretnej instancji. Jest "niezwiązany", ponieważ odnosi się do f bez określania konkretnej klasy, jak w odniesieniu do kierownicy bez samochodu.
Można utworzyć instancję MojaKlasa i nazywają f od niego tak: (. To określa, które instancja zadzwonić f z, więc można odwołać się do zmiennych instancji i tym podobne)
x = MyClass()
x.f()
Używasz f jako static method
. Te metody nie są związane z konkretną klasą i mogą odwoływać się tylko do ich parametrów.
statycznej metody byłyby tworzone i wykorzystywane w taki sposób:
class MyClass(object):
def f(): #no self parameter
return 'hello world'
print MyClass.f()
Co poradnik czytasz? Gdzie widziałeś taki kod? –
Czytałem z podręcznika, jednak było dość niejasne na temat kodu i nie podał prostego przykładu. Więc po prostu bawiłem się i próbowałem coś zrobić. – Pax