Junior — Middle
Czy możesz wyjaśnić, czym są atrybuty w klasach Pythona i jak są używane?
sobes.tech AI
Odpowiedź od AI
W Pythonie atrybuty klasy to zmienne należące do samej klasy, a nie do jej poszczególnych instancji. Służą do przechowywania danych wspólnych dla wszystkich obiektów tej klasy.
Atrybuty mogą być:
- Atrybutami instancji — unikalne dla każdego obiektu, zwykle definiowane w metodzie
__init__. - Atrybutami klasy — wspólne dla wszystkich instancji, definiowane bezpośrednio w ciele klasy.
Przykład:
class Car:
wheels = 4 # atrybut klasy
def __init__(self, color):
self.color = color # atrybut instancji
car1 = Car('red')
car2 = Car('blue')
print(car1.wheels) # 4
print(car2.wheels) # 4
print(car1.color) # czerwony
print(car2.color) # niebieski
Atrybuty klasy są przydatne do przechowywania stałych lub wartości wspólnych dla wszystkich obiektów, natomiast atrybuty instancji służą do przechowywania unikalnych danych każdego obiektu.