Курс 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"
- Логирование с Logzero
- Форматирование чисел в Python
- Преобразование данных в Python
- Извлечение статей с newspaper3k
- Работа с индексами списков
- Списковое включение в Python
- Структура данных словарь в Python
- Метод add для класса Vector
- Добавление элементов в список
- Обновление шаблона base.html
- Генерация QR-кодов с Python
- Декоратор total_ordering для сравнения объектов
- Документация функции help() в Python
- Создание вкладок с TKinter
- 9 уловок для чистого кода
- Форматирование заголовков в Python
- Инверсия списка/строки в Python
- Расчет времени выполнения
- Чтение бинарного файла в Python.
- Поиск уникальных элементов строкой в Python
- Инверсия списка и строки в Python
- Сортировка слиянием
- Тип CodeType в Python.
- Печать в одной строке
- Вставка переменных в шаблоны Flask
- Таймер обратного отсчета
- Преобразование в float
- Операции с матрицами в Python
- Удаление ресурса в Python
- Метод Self в Python
- Определение имен функций
- Вывод сложных структур данных с помощью pprint
- Замеры производительности в Python
- GitHub в Telegram: подписка на уведомления
- Цикл for в Python
- Переопределение метода __eq__
- Модуль math: константы π и e
- Разделение строки на подстроки в Python
- Метод get() в Python
- Декораторы классов
- Форматирование строк в Python
- Функция zip() в Python
- Метод split() для разделения строк
- Поиск индекса элемента
- Python: цикл for и оператор присваивания
- Логирование в Python















