Курс 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"

  1. Работа с кортежами в Python
  2. Python Метод sleep() из time
  3. Принципы SRP и OCP
  4. Метод округления чисел
  5. Поиск подстроки в строке
  6. Нахождение самого длинного слова в списке с помощью max
  7. Лимиты на ресурсы Python
  8. Нахождение разницы между списками в Python
  9. Применение функции к списку
  10. Поиск email
  11. Аннотации типов в Python
  12. Расширение информации об ошибке в Python
  13. Принципы LSP и ISP в Python
  14. Документация функции help() в Python
  15. Удаление ключа из словаря в Python
  16. Аннотации типов в Python
  17. Функции в Python: создание и вызов
  18. Генераторы в Python
  19. Вычисление времени выполнения
  20. Отладка в командной строке
  21. Метод __getitem__ в Python
  22. Извлечение новостей с newspaper3k
  23. Отправка поздравлений по дню рождения
  24. Замена подстроки
  25. Названия столбцов в Python таблицах
  26. Функция product() в Python
  27. Фильтрация списка чисел
  28. Вычисление натурального логарифма в NumPy
  29. Удаление элементов по срезу
  30. Тестирование с responses
  31. Работа с процессами в Python
  32. Progress с библиотекой tqdm
  33. Удаление элементов из списка
  34. Сортировка элементов в Python
  35. Разделение списка на гнппы
  36. Получение комбинаций в Python
  37. Наследование в программировании
  38. Замена символов в Python
  39. Переопределение метода __or__()
  40. Избегайте изменяемых аргументов
  41. Обучение модели с указанием эпох
  42. Сложные типы данных в Python
  43. Функции map, filter и reduce
  44. Оператор is в Python
  45. Возврат нескольких значений из функции
  46. Просмотр атрибутов и методов класса
  47. Сравнение объектов в Python
  48. Генерация строк с .join()
  49. Работа с getopt

Marketello читают маркетологи из крутых компаний