Курс 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 с Itertools
  2. Вычисление натуральных логарифмов в NumPy
  3. Метод __iand__ для пользовательских классов
  4. Генератор списка с условием if
  5. EMOT преобразование эмодзи в текст
  6. Получение частей дроби
  7. Python: отличительная особенность — отступы
  8. Работа с библиотекой xkcd
  9. Объединение списков с использованием itertools.chain
  10. Блок else в Python
  11. Многострочные комментарии в Python
  12. Очистка данных в Python
  13. Декоратор Ajax required
  14. Преобразование данных в Python
  15. Применение промокода в Много лосося
  16. Повторение элементов в Python
  17. Печать календаря
  18. Создание и инициализация объектов
  19. Оптимизация сравнения в Python
  20. Проверка типов с помощью isinstance
  21. Оператор += в Python
  22. Распаковка элементов массива
  23. Замена символов в Python
  24. Конкатенация строк в Python
  25. Профилирование данных с Pandas
  26. Получение ID текущего процесса
  27. Генераторы словарей и множеств
  28. Генератор надежных паролей
  29. Оператор умножения для вектора
  30. Python union() функция — объединение множеств
  31. Пустой оператор pass в Python
  32. Удаление дубликатов с помощью множеств
  33. Выход из профиля в Django
  34. Удаление файлов с shutil.os.remove()
  35. Метод rmatmul для пользовательских матриц
  36. Метод join() для объединения элементов строки
  37. Вызов внешних программ в Python с помощью sh
  38. Переопределение метода __rshift__
  39. Удаление ссылок в Python
  40. Принцип одной функции
  41. Howdoi — получение ответов из терминала
  42. Библиотека Emoji: использование смайлов в Python
  43. Работа с YAML в Python: PyYAML.
  44. Работа с временем в Python
  45. Работа с рекламными данными в Pandas
  46. Распаковка аргументов в Python
  47. Работа с контекст-менеджером «with»
  48. Работа с WindowsPath()

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