Atrybuty
Część sekcji Programowanie obiektowe ścieżki Python w Coddy. Lekcja 6 z 64.
Atrybuty to dane lub zmienne należące do klasy lub jej obiektów. Przechowują informacje o stanie obiektu.
Istnieją dwa rodzaje atrybutów:
Atrybuty klasy – wspólne dla wszystkich obiektów klasy:
class Student:
school_name = "Python Academy" # atrybut klasyAtrybuty instancji – unikalne dla każdego obiektu:
class Student:
school_name = "Python Academy"
def set_info(self, name, age):
self.name = name # atrybut instancji
self.age = age # atrybut instancjiUtwórz obiekty uczniów i ustaw ich indywidualne dane:
student1 = Student()
student2 = Student()
student1.set_info("Alice", 20)
student2.set_info("Bob", 22)Dostęp do atrybutów instancji (unikalnych dla każdego obiektu):
print(student1.name) # Alice
print(student2.name) # Bob
print(student1.age) # 20Dostęp do atrybutów klasy (takich samych dla wszystkich obiektów):
print(student1.school_name) # Python Academy
print(student2.school_name) # Python Academy
print(Student.school_name) # Python AcademyWynik:
Alice
Bob
20
Python Academy
Python Academy
Python AcademyKluczowa różnica: atrybuty klasy są współdzielone przez wszystkie obiekty, a atrybuty instancji są unikalne dla każdego obiektu. Używaj self.attribute_name w przypadku atrybutów instancji, a w przypadku atrybutów klasy po prostu attribute_name.
Spróbuj swoich sił
Ta lekcja nie zawiera wyzwania z kodem.
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Programowanie obiektowe
1Podstawy programowania obiektowego
Pliki zewnętrzneWprowadzenie do programowania obiektowegoKlasy a obiektyParametr selfMetodyAtrybutyMetoda konstruktora (__init__)Powtórzenie – prosty kalkulator4Dziedziczenie
Podstawy dziedziczeniaFunkcja super()Nadpisywanie metodDziedziczenie wielokrotneKolejność rozwiązywania metodPodsumowanie – hierarchia pracowników7Metody specjalne
Wprowadzenie do metod magicznychPrzeciążanie operatorówMagiczne metody kontenerówPowtórka – własna lista10Wzorce projektowe, część 1
Wprowadzenie do wzorców projektowychWzorzec SingletonWzorzec FactoryWzorzec ObserverWzorzec Strategy2Dekoratory
Wprowadzenie do dekoratorówDekorator propertyDekorator metody statycznejDekorator metody klasowej5Polimorfizm
Ponowne omówienie nadpisywania metodTypowanie kaczeKlasy i metody abstrakcyjneProjektowanie interfejsówPodsumowanie — kalkulator kształtów8Zaawansowane koncepcje programowania obiektowego
Kompozycja a dziedziczenieMiksyMetody statyczne i klasoweDekoratory klasMenedżery kontekstu11Wzorce projektowe, część 2
Wzorzec PolecenieWzorzec AdapterWzorzec DekoratorWzorzec Metoda szablonowaWzorzec StanWzorzec Kompozyt3Właściwości klas
Zmienne instancji a zmienne klasoweDekoratory właściwościAtrybuty prywatnePowtórzenie — menedżer kont bankowych6Hermetyzacja
Public, Protected, Private — pamięćModyfikatory dostępuUkrywanie informacjiDekoratory właściwości — zaawansowanePodsumowanie — system ewidencji uczniów12Projekt: System zarządzania biblioteką
Przegląd projektuKlasy Book i UserSystem wypożyczeńFunkcja wyszukiwaniaInterfejs administratoraTestowanie i integracjaPoćwicz samodzielnie: Kompilator Python online