Курс 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"
- Метод matmul для умножения матриц
- Порядок операций в Python
- Замена текста в Python
- Руководство по библиотеке pydantic
- Открытие, чтение и закрытие файла
- Математические функции в Python
- Сравнение def и lambda функций в Python
- Абстракции словарей и множеств в Python
- Работа с deque из collections
- Установка и использование модуля Wikipedia
- Аннотации типов в Python
- Работа с множествами в Python
- Управление контекстом выполнения кода
- Объединение словарей в Python
- Создание новых функций через partial
- Генераторы в Python
- Многоточие в Python
- None в Python: использование и особенности
- Модуль array: создание и использование массивов
- Создание и инициализация объектов
- Генераторы в Python
- Работа с переменными в Python
- Встроенные функции Python
- Замыкания в Python
- Создание и использование ChainMap
- Отладка кода
- Метод __int__ в Python
- Работа с файлами в Python
- Метод setdefault() в Python
- Сравнение объектов в Python
- Операции с числами в Python
- Преобразование кортежа в словарь.
- Метод __complex__ в Python
- Разбиение строки в Python
- Оператор is в Python
- Непрерывная проверка в Python
- Метод __float__ в Python
- Делегирование в Python
- Создание новых функций с помощью functools.partial
- Создание лямбда-функций
- Оптимизация памяти в Python
- Проверка дублей в списке.
- Создание комплексных чисел















