Курс 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"
- Операции с комплексными числами
- Метод __ixor__ для побитового исключающего ИЛИ
- Генераторы по генератору
- Функция eval() в Python
- Проверка дублей в списке.
- Метод join() для объединения элементов в строку.
- Работа с CSV файлами в Python
- Установка пакетов с помощью pip
- Счетчик в Python: most_common()
- Декораторы в Python
- Декораторы для регистрации функций
- Работа со словарями Python
- Группировка элементов Python
- Проверка кортежей.
- Генератор чисел Фибоначчи
- Освобождение памяти в Python
- Модуль os: работа с файлами и папками
- TypedDict для kwargs в Python 3.12
- Создание виртуальной среды
- Управление сессиями в Python
- Хранение переменных в Python.
- Деление в Python
- Объединение списков в Python
- Очистка данных в Python
- Использование модуля __future__
- Определение размера папок в Python
- Функции классификации комплексных чисел
- Работа с пакетами
- Асинхронный код в Python
- Профилирование с cProfile
- Работа с процессами в Python
- Управление браузером с Selenium
- Создание копии списка в Python
- Функция с *args.
- Применение функции к каждому элементу списка
- Пропуск начальных строк с помощью dropwhile()
- Объединение списков с помощью zip
- Хэш-функции и метод цепочек
- Безопасные SQL-запросы в Python 3.11
- Печать месячного календаря
- Равенство и идентичность в Python
- Работа с YAML в Python: PyYAML.
- Определение функций с необязательными аргументами
- Операторы объединения в Python 3.9
- Разделение строки с помощью re.split()
- Создание словарей в Python















