Курс 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"
- Удаление файлов в Python
- Списки в Python: синтаксис представления
- Библиотека schedule: планировщик задач
- Область видимости переменных
- Метод ifloordiv для пользовательских классов
- Шаблоны и наследование в Flask
- Переопределение метода __rshift__
- Оператор деления для класса Rational
- Регистрация на хакатоне
- Переопределение метода __and__
- Функции map() и reduce() в Python
- Роль object и type в Python
- Python: Фильтрация списков с помощью filter()
- Манипуляция формой массива в Numpy
- Работа с itertools
- Мониторинг памяти с Pympler
- Цикл for в Python
- Анонимные функции в Python
- Основы Python за 14 дней
- Переворот последовательности
- Модуль subprocess: запуск внешних команд
- Defaultdict в Python
- Создание словарей в Python
- Метод enumerate() в Python
- Кортеж в Python: создание и использование
- Комментарии в Python
- Генерация чисел с range()
- Установка и использование pyshorteners
- Python OrderedDict и fromkeys() — работа с словарями
- Добавление вложенных списков
- Управление памятью в numpy.
- Создание класса в Python
- Применение функции map() с лямбда-функциями
- Управление ресурсами в Python
- Вывод букв строки в Python
- Анализ текста на русском языке с помощью Pymystem3
- Работа с аргументами командной строки
- Переопределение метода xor в Python
- Удаление элемента по индексу
- Переопределение метода len
- Конкатенация строковых литералов
- Метод lt для сортировки объектов
- Операции с кортежами
- Декоратор проверки активности
- Метод __index__ в Python
- Лямбда-функции в Python
- Оптимизация памяти с помощью __slots__















