Sobes.tech
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.