Курс 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"
- Использование type hints
- Протокол управления контекстом
- Flask — веб-фреймворк Python
- Метод __float__ в Python
- Метод __call__ в Python
- Генерация случайных данных в NumPy
- Вызов внешних программ в Python с помощью sh
- Множественные конструкторы в Python
- Переворот строки с использованием цикла
- Мощь вложенных функций в Python
- Справка по импортированным модулям
- Работа с Event() в threading
- Упрощение работы с JSON-данными в Python
- Преобразование текста в нижний регистр
- Логирование с Logzero: ротация файла
- Уникальные значения из списка
- Область видимости переменных
- Парсинг статей с Newspaper3k
- Замена подстроки
- Подсчет элементов с помощью Counter
- Сериализация объектов в Python
- Создание списков в Python
- JSON-esque в Python
- Хранение переменных в словаре.
- Константы в модуле cmath
- Показ всплывающих окон Tkinter
- Конструктор в Python
- Инверсия списков и строк в Python
- Установка и обучение ChatterBot
- Итерация по итерируемым объектам
- Преобразование списка в словарь через генератор
- Тайное преобразование типа ключа
- Перезапуск ячейки в Jupyter Notebook с dostoevsky
- Обмен данными с asyncio.Queue
- Метод join для наборов
- Срезы в Python
- Моржовый оператор в Python 3.8
- Преобразование многоуровневого словаря
- Именованные кортежи в Python
- discard() — удаление элемента из множества
- Изменение элемента списка
- Оптимизация строк в Python
- Методы сравнения множеств















