Курс 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
- Структуры данных в Python
- Переменные в Python: сокращение гласных
- Декораторы с аргументами в Python
- Переворот списка в Python
- Оператор объединения словарей
- Форматирование строк в Python
- Переменные в Python
- Оформление кода на Python
- Создание словаря и множества
- Основные операции с Numpy
- Преобразование строк в числа в Python
- Сравнение def и lambda в Python
- Генераторы и сеты в Python
- Методы Python для работы с данными
- Блок try…finally в Python
- Логические значения в Python
- Переименование файлов в Python
- Избегание циклических зависимостей классов в Python
- Генерация QR-кодов с библиотекой qrcode
- Инверсия списков и строк в Python
- Работа с deque в Python
- Распаковка аргументов в Python
- Работа с словарями в Python
- Обновление шаблона base.html
- Списки в Python: синтаксис представления
- Введение в PyTorch
- Форматирование строк с помощью f-строк
- Подписка на SelectelNews в Twitter
- Философия Python
- Magic Commands — улучшение работы с Python
- Генераторы в Python
- Enum в Python: создание и использование перечислений
- Работа с zip()
- Удаление дубликатов из списка
- Docstring в Python
- Отправка POST запроса на сервер.
- Применение функции map() с лямбда-функциями
- Работа с getopt
- Метод __float__ в Python
- Работа с CSV файлами
- Функции-генераторы в Python
- Модуль xkcd: добавление юмора в Python
- Сложные типы данных в Python
- Генерация фальшивых данных с Faker
- Виртуальные среды в Python
- Проверка ввода с помощью isdigit
- Python Метод sleep() из time















