Курс 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"
- Работа с Telegram API на Python
- Очистка входных данных
- Переворот строки
- Обработка ошибок в Python
- Перехват исключений в Python
- Проблемы с именами переменных
- Получение текущей директории
- Создание генераторов в Python
- Функции в Python: создание и вызов
- Работа с аргументами командной строки в Python
- Извлечение новостей с помощью newspaper3k
- Множественное назначение в Python
- Работа с изображениями Pillow
- Функция enumerate() — Python
- Получение атрибутов и методов класса
- Подсчет элементов с помощью Counter
- Декоратор total_ordering для сравнения объектов
- Нан-рефлексивность в Python
- Defaultdict в Python
- Python enumerate() для работы с индексами
- Именование столбцов в Python с pandas
- Разделение строк в Python
- Проверка условий: all и any
- Изучение объектов с помощью dir()
- Numpy: объединение массивов
- Импорт модулей в Python 3.12
- Dict Comprehension в Python
- Метод __irshift__ для побитового сдвига вправо
- Печать календаря
- Комментарии в Python
- Импорт в Python: список all
- Экранирование символов в Python
- Структуры данных в Python
- Работа с SQLite в Python
- Работа с timedelta в Python
- Удаление дубликатов с помощью множеств
- Удаление ключа из словаря
- Методы list в Python
- Возведение в квадрат с помощью itertools
- Функции в одну строку
- Модуль antigravity: генерация координат
- Игра «Камень, ножницы, бумага» — Python
- Получение значений из словарей
- Модуль Antigravity в Python 3
- Конвертация коллекций в Python.















