Курс 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"
- Тестирование с unittest
- Проблема сравнения словарей
- Преобразование числа в список цифр
- Метод count() для списков
- Сравнение строк в Python
- Настройка логгера Logzero
- Шаблоны Flask: условия и циклы
- Тестирование времени с Freezegun
- Замеры производительности в Python
- Работа с argparse
- Python Метод sleep() из time
- Функция enumerate в Python
- Переопределение метода
- Установка и обучение ChatterBot
- Настройка шрифта и цвета в Tkinter
- Модуль math: константы π и e
- Оператор «not» в Python
- Избегайте использования goto
- Работа с необработанными строками
- Транспонирование 2D-массива с помощью zip
- Удаление файлов и папок в Python
- Библиотека Rich: форматирование текста
- Мониторинг памяти с Pympler
- Конструктор в Python
- Просмотр атрибутов и методов класса
- Модуль itertools: эффективная работа с итераторами
- Работа с датой и временем в Python
- Декораторы для регистрации функций
- Оператор Walrus в Python
- Проверка типа объекта в Python
- Присоединение элементов коллекции
- Работа с модулем Calendar
- Импорт модулей и пакетов в Python
- split() — разделение строки
- Структуры данных в Python
- Основы работы со списками
- Глобальные переменные в Python
- Метаклассы в Python
- Очистка списка от False, None, 0, «»
- Список переменных в Python
- Структурирование именованных констант
- Импорт модулей в Python 3.12
- Просмотр атрибутов и методов класса
- Форматирование даты с strftime()
- Повторение и перенос строки
- Python: Splat-оператор и splatty-splat
- Управление IP-адресами через прокси















