Курс 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.
- Создание панели меню Tkinter
- Форматирование заголовков в Python
- Метод __call__ в Python
- Удаление ссылок в Python
- Профилирование с cProfile
- Вакансии в Nebius
- Закрытие файла в Python
- Роль ключевого слова self
- Определение размера папок в Python
- Область видимости переменных
- Встроенные функции Python
- F-строки в Python 3.8
- Измерение времени выполнения кода с использованием time
- Оператор «not» в Python
- Проверка окончания строки с помощью str.endswith()
- Параллельные вычисления в Python
- Область видимости переменных
- Измерение времени выполнения кода с помощью time
- inspect в Python: анализ кода
- Официальный канал Python в Telegram
- Оптимизация гиперпараметров с Scikit Optimize
- Отправка HTTP-запросов с User-Agent
- Многострочные комментарии в Python
- Подсчет частоты элементов с Counter
- Генератор бросков кубиков
- Генерация случайных чисел в Python
- Хеширование паролей с солью
- Функция map() в Python
- Модуль os в Python: работа с файлами
- Метод pop() списка
- Разделение строки с помощью re.split()
- Работа с географическими данными в Python
- Получение текущей директории
- Списковое включение в Python
- Управление контекстом выполнения
- Управление контекстом с помощью декоратора contextmanager
- Создание GUI с Tkinter: Entry
- Замена текста с re.sub()
- Применение функции к списку
- Создание матрицы в Python
- Отладка в командной строке
- Округление дробей в Python
- Переворот строки с использованием цикла















