Курс 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
- Измерение времени выполнения кода
- IPython и Jupyter Notebook: руководство
- Циклы в Python
- Группировка элементов в словарь
- Списковое включение в Python
- Подсчет элементов в списке с Counter
- Передача словаря через **kwargs
- Путь к интерпретатору Python
- Обезопасьте ввод данных
- Анонимные функции в Python
- Python 3.12: Псевдонимы типов
- Функция enumerate() в Python
- Перевод двоичного кода в целое число
- Использование *args
- Получение значений из словарей
- Инверсия списка и строки
- Каналы Senior: Python, Java, Frontend, SQL, C++
- Проверка дубликатов в Python
- Структура данных словарь в Python
- Сортировка в Python
- Модуль itertools: эффективная работа с итераторами
- Работа с изменяемыми коллекциями
- Метод __iand__ для пользовательских классов
- Метод join() для объединения элементов в строку.
- Открытие и редактирование скриптов Python
- Объединение итераторов
- Оптимизация памяти с __slots__
- F-строки в Python 3.8
- Извлечение новостей с newspaper3k
- Генерация чисел с range()
- Оператор * в Python
- Удаление специальных символов
- Создание пользовательской коллекции в Python
- Хранение переменных в Python.
- Разделение строк в Python
- Отправка HTTP-запросов с User-Agent
- Concrete Paths в Python
- Хранение переменных в словаре.
- Оператор in для Python
- Преобразование текста в нижний регистр
- Взаимодействие с внешними процессами в Python
- globals и locals
- Метод join() для объединения элементов строки
- Переопределение метода len
- Кортежи в Python: особенности и преимущества
- Оптимизация памяти с slots
- Итерации в Python















