Курс 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. Роль ключевого слова self
  2. Создание множества в Python
  3. Форматирование строк с помощью f-строк
  4. Профилирование с cProfile
  5. Нарезка списков в Python
  6. Синхронизация потоков с time.sleep()
  7. Мощь вложенных функций в Python
  8. Печать календаря в Python
  9. Работа с модулем cmath
  10. Bootle — простой веб-фреймворк
  11. Импорт модулей в Python 3.12
  12. Методы __repr__ и __str__ в Python
  13. Переменные в Python: сокращение гласных
  14. Python-dateutil — работа с датами
  15. Docstring в Python
  16. Базовые объекты Python
  17. Генераторные функции в Python
  18. Экранирование символов в Python
  19. Установка пакета в Python
  20. Функция sleep() в Python
  21. Настройка Cron
  22. Добавление Progressbar в Python
  23. Объединение множеств в Python
  24. Отступы в Python
  25. Метод join() для объединения строк
  26. Операции с матрицами в Python
  27. Python enumerate() использование
  28. Извлечение аудио из видео
  29. Создание генераторов
  30. Работа с модулем random
  31. Метод invert для побитового отрицания
  32. kwargs в Python
  33. Выражения-генераторы в Python
  34. Создание Radio кнопок в tkinter
  35. Генераторы в Python
  36. Цикл for в Python
  37. Проверка наличия элемента в списке
  38. Лямбда-функции в defaultdict
  39. Цикл for в Python
  40. Создание таблиц в Python с PrettyTable
  41. Установка Git и AWS CLI
  42. None в Python: использование и особенности
  43. Установка Python — Простое руководство
  44. Обмен значений переменных в Python
  45. Идентификатор объекта в Python
  46. Область видимости переменных
  47. Нахождение хеша для бесконечности и NaN в Python

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