atrybuty instancji - THE DATA SCIENCE LIBRARY https://sigmaquality.pl/tag/atrybuty-instancji/ Wojciech Moszczyński Tue, 02 May 2017 06:32:00 +0000 pl-PL hourly 1 https://wordpress.org/?v=6.8.3 https://sigmaquality.pl/wp-content/uploads/2019/02/cropped-ryba-32x32.png atrybuty instancji - THE DATA SCIENCE LIBRARY https://sigmaquality.pl/tag/atrybuty-instancji/ 32 32 22_PY. Atrybuty klas, atrybuty instancji w Python3 https://sigmaquality.pl/uncategorized/22_py-atrybuty-klas-atrybuty-instancji-w-python3/ Tue, 02 May 2017 06:32:00 +0000 http://sigmaquality.pl/?p=2568 Atrybuty instancji to zmienne lub stałe wartości przypisane do instancji.  W języku Python większość danych jest obiektami, są nimi m. in. klasy i instancje. Do [...]

Artykuł 22_PY. Atrybuty klas, atrybuty instancji w Python3 pochodzi z serwisu THE DATA SCIENCE LIBRARY.

]]>

Atrybuty instancji to zmienne lub stałe wartości przypisane do instancji.  W języku Python większość danych jest obiektami, są nimi m. in. klasy i instancje. Do każdego obiektu w języku Python można dodać atrybuty. 

Proszę skopiować poniższy kod. Tworzone są trzy grupy znane z poprzedniego wpisu.

class bryły:
    pass
class graniastosłup(bryły):
    pass
class walec(bryły):
    pass
class stożek(bryły):
    pass

 

Kod definiuje instancje w klasach.

Zbiorniki_A = walec()
Zbiorniki_B = graniastosłup()
Pryzmy_FF = stożek()

 

Kolejna część kodu definiuje atrybuty dla klasy i instancji

bryły.atrybut_brył = ['a','b','az','hh']
print (bryły.atrybut_brył)
Zbiorniki_B.stałe_zbiorników = (12,24,53,1)
print (Zbiorniki_B.stałe_zbiorników)
Pryzmy_FF.opisy_dla_grupy = "grupa objęta jest dozorem technicznym"
print (Pryzmy_FF.opisy_dla_grupy)

 

Wynik kodu:

['a', 'b', 'az', 'hh']
(12, 24, 53, 1)
grupa objęta jest dozorem technicznym

 

Jak widać atrybuty instancji oraz klas mogą mieć różne formy od łańcuchy znaków, przez listy, stałe.

Atrybuty mogą być wykorzystywane w dalszej części kodu. Wyniki wyświetlone zostały na ekranie dzięki instrukcji print.

 

Operacje na atrybutach

Schemat zasięgu atrybutów.

 Odwoływania się do atrybutów nadrzędnych 

print (Zbiorniki_B.atrybut_brył)
print (graniastosłup.atrybut_brył)

Instancje mogą odwoływać się do atrybutu dla wszystkich brył zaznaczonego beżowym kolorem na schemacie.

 

 Kasowanie atrybutów 

Atrybuty mogą być również kasowane z kodu.

Poniższy kod kasuje wszystkie atrybuty instancji i klas.

Proszę wkleić ten kod, sprawdzić a następnie skasować. Główny kod wraz z atrybutami będzie jeszcze potrzebny do ćwiczeń.

del bryły.atrybut_brył
del Zbiorniki_B.stałe_zbiorników
del Pryzmy_FF.opisy_dla_grupy

 

 

 Zasłanianie atrybutów innymi atrybutami 

Proszę skopiować poniższy kod pod dotychczasowym kodem.

Zbiorniki_B.atrybut_brył = "POWAŻNA ZMIANA ATRYBUTU"
print (Zbiorniki_B.atrybut_brył)
print (Zbiorniki_A.atrybut_brył)
del Zbiorniki_B.atrybut_brył
print (Zbiorniki_B.atrybut_brył)

 

Atrybut o nazwie atrybut_brył dotyczył wszystkich klas. Czasowo, dla instancji Zbiorniki_B został zawieszony. Po skasowaniu zmiany atrybut_brył wrócił do starej formy dla Zbiorniki_B.

 

 Definiowanie klasy z atrybutami, instancjami i funkcjami 

Dobrym zwyczajem jest tworzyć klasy wraz z instancjami oraz funkcjami. Dobrze jest od razu dopisać atrybuty instancji i klas. To rozwiązanie jest bardziej przyjazne dla programisty czytającego kod.

 

 

Artykuł 22_PY. Atrybuty klas, atrybuty instancji w Python3 pochodzi z serwisu THE DATA SCIENCE LIBRARY.

]]>