Курс 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"
- Приоритет операций в Python
- Flask — веб-фреймворк Python
- Перегрузка операторов в Python
- Методы в Python
- Транспонирование 2D-массива с помощью zip
- Генераторы списков
- Создание матрицы в Python
- Разделение строк в Python
- Улучшение читаемости кода в Python
- Чтение бинарного файла в Python.
- Извлечение аудио из видео
- Обработка исключения UnboundLocalError
- Создание словарей и множеств в Python
- Concrete Paths — метод .with_suffix()
- Аргумент по умолчанию
- Списки в Python: основы
- Управление пакетами с pip
- Генерация случайных данных в NumPy
- Переопределение метода delitem в Python
- Синхронизация доступа к ресурсам
- Создание панели меню Tkinter
- Flask: создание веб-приложений
- Работа с кортежами в Python
- Форматирование вывода с F-строками
- Вложенные циклы в Python
- Печать календаря в Python
- Импорт классов из другого файла
- Введение в Python
- Удаление специальных символов с помощью re.sub
- Проектирование Singleton с метаклассом
- Оператор «not» в Python
- Проверка ввода с помощью isdigit
- Метод rlshift для битового сдвига
- Переопределение метода
- Работа со стеком в Python
- Создание обратного итератора
- Использование функции enumerate()
- Зарезервированные слова в Python
- Управление контекстом выполнения кода
- Импорт модулей в Python 3.12
- Lambda Functions in Python
- JMESPath в Python
- Умножение строк и списков
- Python reversed() vs срез[::-1]
- Распаковка элементов последовательности
- Установка и загрузка Instaloader















