Definiowanie atrybutów i metod klas
Dowolna zmienna powiązana z klasą jest atrybutem klasy.
Dowolna funkcja zdefiniowana wewnątrz klasy jest metodą. Pierwszym argumentem każdej metody jest instancja klasy, zwyczajowo nazywana self
. Na przykład, aby zdefiniować kilka atrybutów i metod klasy, można wprowadzić następujący kod:
class MyClass
attr1 = 10 #atrybuty klasy
attr2 = "hello"
def method1(self):
print MyClass.attr1 #odwołanie do atrybutu klasy
def method2(self):
print MyClass.attr2 #odwołanie do atrybutu klasy
def method3(self, text):
self.text = text #atrybut instancji
print text, self.text #wydrukuj argument i atrybut
method4 = method3 #utwórz alias dla method3
Wewnątrz klasy wszystkie odwołania do jej atrybutów muszą być kwalifikowane nazwą klasy, na przykład MyClass.attr1
.
Wszystkie odwołania do atrybutów instancji powinny być kwalifikowane zmienną self
, na przykład self.text
. Na zewnątrz klasy wszystkie odwołania do atrybutów klasy powinny być kwalifikowane nazwą klasy (na przykład MyClass.attr1
) lub instancją klasy (na przykład x.attr1
, gdzie x
jest instancją klasy). Na zewnątrz klasy wszystkie odwołania do zmiennych instancji powinny być kwalifikowane instancją klasy, na przykład x.text
.