Курс Python → Атрибуты класса и экземпляра
В Python атрибуты класса и атрибуты экземпляра играют важную роль в объектно-ориентированном программировании. Атрибуты класса — это переменные, которые определены внутри класса, но вне методов. Они доступны для всех экземпляров этого класса и используются для хранения общей информации, которая должна быть общей для всех объектов данного класса. Например, в классе «Сотрудник» атрибут класса может быть «количество сотрудников», который будет увеличиваться при создании нового экземпляра.
Атрибуты экземпляра — это переменные, которые определены внутри методов класса и доступны только для конкретного экземпляра класса. Они используются для хранения уникальной информации об объекте. Например, в классе «Сотрудник» атрибут экземпляра может быть «имя» или «зарплата» конкретного сотрудника.
Python обрабатывает переменные класса и переменные экземпляра как словари объекта класса. Если имя переменной не найдено в словаре текущего класса, то выполняется поиск по нему в родительских классах. Это позволяет наследовать атрибуты и методы от родительских классов, что делает код более модульным и удобным для использования.
class Employee:
num_employees = 0 # атрибут класса
def __init__(self, name, salary):
self.name = name # атрибут экземпляра
self.salary = salary
Employee.num_employees += 1
В приведенном примере у класса «Employee» есть атрибут класса «num_employees», который хранит количество созданных сотрудников. При создании нового экземпляра увеличивается это значение. Также у каждого экземпляра есть атрибуты «name» и «salary», которые хранят имя и зарплату конкретного сотрудника.
Используя атрибуты класса и атрибуты экземпляра, можно эффективно организовать данные и логику в программе, делая ее более понятной и удобной для разработки и поддержки.
Другие уроки курса "Python"
- Управление контекстом выполнения
- Оператор «not» в Python
- Модуль Antigravity в Python 3
- Область видимости переменных
- Итерация по итерируемым объектам
- Локальные переменные.
- Хеширование паролей с солью
- Проверка надежности пароля на Python
- Логирование в Python
- Работа с модулем Calendar
- Нан-рефлексивность в Python
- Переменные класса и экземпляра
- Создание новых списков
- Управление памятью в numpy.
- Форматирование строк с помощью f-строк
- Выход из профиля в Django
- Преобразование списка в словарь через генератор
- Множественное наследование в Python
- Progress с библиотекой tqdm
- Отображение HTML кода в Python
- Подсказки типов в Python
- Раздувающийся словарь в Python
- Работа со строками в Python
- Python itertools combinations() — группировка элементов
- Создание коллекций из выражения-генератора
- Генераторы данных
- Официальный канал Python в Telegram
- Работа с Colorama
- Очистка вывода в Python
- Замена атрибута в именованном кортеже
- Установка и использование модуля «howdoi»
- Моржовый оператор в Python 3.8
- Работа с файлами в Python
- Метод count() для списков
- Создание веб-приложения с Flask
- Метод lt для сортировки объектов
- Профилирование с Pandas
- Преобразование вложенного списка
- Печать месячного календаря
- Создание и использование ChainMap
- Отрицательные индексы списков в Python
- Метод join() для объединения элементов строки
- Создание задания в Cron
- Работа с JSON данными в Python
- Эффективная конкатенация строк в Python















