Курс 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
- Избегайте изменяемых аргументов
- Получение срезов итераторов
- Вывод букв строки в Python
- Удаление элементов из списка в Python.
- Многострочные комментарии в Python
- Глобальные переменные в Python
- Обмен данными с asyncio.Queue
- Копирование словарей и списков в Python
- Поиск элементов BeautifulSoup
- Настройка шрифта и цвета в Tkinter
- Работа с контекстным менеджером Pool
- Управление браузером с Selenium
- Работа с кортежами
- Склеивание строк через метод join()
- Чтение бинарного файла в Python.
- Изменение переменной в Python: nonlocal
- Оператор «not» в Python
- Оператор * в Python
- Поиск всех индексов подстроки
- Именование столбцов в Python с pandas
- Замена текста с помощью sub
- Чтение и запись TOML-конфигов
- Метод rxor для операции побитового исключающего «или»
- Numpy: использование Ellipsis
- Цикл for в Python
- Хеши в Python
- Оптимизация сравнения в Python
- Модуль inspect
- Логирование в Python
- Удаление дубликатов из списка
- Инверсия списка и строки в Python
- Транспонирование 2D-массива с помощью zip
- Импорт и использование модулей в Python
- Подсказки типов в Python
- Работа с NumPy
- Именованные аргументы в Python
- Оператор объединения словарей
- Анонимные функции Lambda
- Основные методы NumPy
- Ключевое слово global в Python















