Курс 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"
- Удаление файлов с shutil.os.remove()
- Перезапуск ячейки в Jupyter Notebook с dostoevsky
- Распаковка аргументов в Python
- Python: Splat-оператор и splatty-splat
- Потоковый ввод в Python
- Метод count() для списка
- Нан-рефлексивность в Python
- Лямбда-функции в Python
- Считывание бинарного файла в Python
- Логирование с Logzero
- Присвоение и ссылки
- Проверка запуска скрипта или импорта модуля
- Использование функции enumerate()
- Создание новых функций через partial
- Генерация тестовых данных с factory_boy
- Работа с кортежами в Python
- Замена атрибута в именованном кортеже
- Проверка существования переменной с оператором :=
- Подсчет элементов в Python
- Аргумент по умолчанию
- Отступы в Python
- Использование подчеркивания в REPL
- Логические значения в Python
- Подписка на Kaspersky Team
- Работа с контекстным менеджером Pool
- Переопределение метода sub
- Глубокое копирование объектов
- Перехват исключений в Python
- Создание множества в Python
- Документация функции help() в Python
- Реверс строки и списка в Python.
- Методы HTTP запросов в Flask
- Объединение словарей в Python
- Concrete Paths в Python
- Хэш-функции и метод цепочек
- Работа с collections.Counter
- Удаление дубликатов из списка
- Установка и использование Logzero
- Транспонирование матрицы в Python
- Очистка данных в Python
- Создание генераторов
- Работа с множествами в Python
- Объединение списков в Python
- Ошибка NotImplemented в Python
- Использование type hints















