Курс 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"
- Оператор «and» в Python
- Функция reduce() из модуля functools
- TypedDict для kwargs в Python 3.12
- Объединение списков в строку
- Безопасный доступ к значениям словаря
- Генерация QR-кодов с Python
- Удаление пробелов методом translate()
- Функции с необязательными аргументами
- Установка и использование Telegram API в Python
- Метод rlshift для битового сдвига
- Склеивание строк через метод join()
- Операции с датами в Python
- Сортировка и обратный порядок
- Dict Comprehension в Python
- Измерение времени выполнения с помощью time
- Копирование в Python
- Каналы Senior: Python, Java, Frontend, SQL, C++
- Модуль Operator в Python
- Запуск Python из интерпретатора
- Бинарный поиск
- Бесконечная проверка в Python
- Работа с файлами в Python
- Обработка ошибок в Python
- Склеивание строк без циклов
- Функции в Python: создание и вызов
- Переопределение унарных операторов
- Concrete Paths — метод .with_suffix()
- Поиск простых чисел
- Измерение времени выполнения кода
- Инверсия списка и строки в Python
- Генераторы в Python
- Оператор break в Python
- Метод __irshift__ для Python
- Преобразование в float
- Форматирование строк в Python
- Принципы Zen Python
- Ошибка NotImplemented в Python
- Поиск наиболее частого элемента списке
- Встраивание HTML в Jupyter Notebook
- Кортежи в Python: особенности и преимущества
- Поиск всех индексов подстроки
- Проверка типа данных
- Сортировка и разворот списка
- Установка Python3.7 и PIP















