Курс 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"
- Переопределение метода sub
- Блок else в обработке исключений
- Оператор match в Python
- Проверка типа объекта в Python
- Оператор in для проверки наличия элемента
- Ключевое слово global в Python
- Профилирование с cProfile
- Блок else в циклах.
- Функции range() в Python
- Функция product() из itertools
- Метод __getitem__ в Python
- Создание функций высшего порядка
- Моржовый оператор в Python 3.8
- Новшества Flask 2.0
- Defaultdict в Python
- Удаление ключей из словаря
- 9 уловок для чистого кода
- Методы split() и join() — Python строк.
- Многоточие в Python
- Печать календаря
- Разность множеств
- TON Smart Challenge #2: участие и подготовка
- Работа со списками
- PATCH-запрос с библиотекой requests
- Глобальные переменные в Python
- Форматирование строк в Python
- Метод ne для сравнения объектов
- Настройка вывода NumPy
- Создание словарей с defaultdict()
- Работа с YAML в Python: PyYAML.
- Атрибуты класса и экземпляра в Python
- Функция enumerate() в Python
- Вакансии в Nebius
- Работа с срезами в Numpy
- Работа с Telegram API на Python
- Подсчет элементов в Python
- Срезы в Numpy
- Капитализация строк
- Удаление специальных символов
- Обработка ошибок в Python
- Методы работы со строками в Python
- Руководство по библиотеке pydantic
- Оператор walrus в Python
- Модуль Operator в Python
- Логирование в Python
- Проверка строки на палиндром
- Измерение времени выполнения в Python















