Sobes.tech
Back to questions
Junior — Middle
61

Каким образом можно различить переменную, принадлежащую классу, от переменной, связанной с конкретным объектом?

Answer from AI

sobes.tech AI

В Python переменные, принадлежащие классу, называются атрибутами класса и объявляются внутри тела класса, но вне методов. Они общие для всех экземпляров класса. Переменные, связанные с конкретным объектом, называются атрибутами экземпляра и обычно создаются внутри методов (например, в __init__) с использованием self.

Пример:

class MyClass:
    class_var = 10  # атрибут класса

    def __init__(self, value):
        self.instance_var = value  # атрибут экземпляра

obj1 = MyClass(1)
obj2 = MyClass(2)

print(MyClass.class_var)      # 10
print(obj1.class_var)         # 10
print(obj1.instance_var)      # 1
print(obj2.instance_var)      # 2

Таким образом, атрибут класса доступен через имя класса и через экземпляры, но общий для всех, а атрибут экземпляра уникален для каждого объекта.