Курс Python → Атрибуты класса и экземпляра
Атрибуты класса в Python — это переменные, которые относятся ко всем экземплярам данного класса. Они определяются внутри класса, но вне любых методов, используя синтаксис self.atribute_name. Эти атрибуты доступны для всех экземпляров данного класса и могут быть изменены через любой из них.
Атрибуты экземпляра, с другой стороны, относятся только к конкретному экземпляру класса. Они создаются внутри методов класса и могут быть доступны только через данный экземпляр. Для создания атрибута экземпляра используется синтаксис self.atribute_name, но уже внутри метода класса.
При обращении к атрибуту класса, если он не найден в словаре текущего класса, Python будет автоматически искать его в родительских классах. Это позволяет наследовать атрибуты класса и использовать их в дочерних классах без необходимости их повторного определения.
class MyClass:
class_attribute = 10
def __init__(self, instance_attribute):
self.instance_attribute = instance_attribute
obj1 = MyClass(5)
obj2 = MyClass(8)
print(obj1.class_attribute) # Вывод: 10
print(obj2.class_attribute) # Вывод: 10
print(obj1.instance_attribute) # Вывод: 5
print(obj2.instance_attribute) # Вывод: 8
В данном примере, class_attribute является атрибутом класса, общим для всех экземпляров класса, а instance_attribute — атрибутом экземпляра, уникальным для каждого экземпляра. При обращении к атрибутам класса и экземпляра, Python автоматически учитывает наследование и поиск в родительских классах.
Другие уроки курса "Python"
- Удаление и повторная вставка ключа в OrderedDict
- Создание словарей с defaultdict()
- Иерархия классов в Python
- Преобразование range в итератор
- Метод count() для списков
- Создание словарей в Python
- Метод сравнения объектов в Python
- Управление виртуальными средами в Python
- Функция enumerate() — Python
- Управление ресурсами в Python
- Область видимости переменных в Python
- Вычисление натуральных логарифмов в NumPy
- Работа с zip()
- Оператор walrus в Python
- Порядок операций в Python
- Распаковка элементов массива
- Генератор списка в Python
- Поиск индекса элемента в списке
- Добавление элемента к кортежу
- Работа с файлами в Python
- Введение в Python
- Метод rlshift для битового сдвига
- Транспонирование 2D-массива с помощью zip
- IPython и Jupyter Notebook: руководство
- История Python
- Python: изменяемые и неизменяемые коллекции
- Хранение данных
- Преобразование списка в словарь через генератор
- Проверка дубликатов в Python
- Работа с контекст-менеджером «with»
- Генераторные функции в Python
- Удаление пробелов методом translate()
- Выход из профиля в Django
- Работа со словарями Python
- Копирование в Python
- Принципы Zen of Python
- Сериализация и десериализация объектов
- Тест скорости набора текста на Python
- Оформление кода по PEP 8
- Оператор in и not in в Python
- Измерение времени выполнения кода с помощью time
- Настройка вывода NumPy
- Класс UserDict: дополнительная функциональность
- Использование модуля __future__
- Отношения подклассов в Python















