Курс 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. Измерение времени выполнения кода
  3. IPython и Jupyter Notebook: руководство
  4. Циклы в Python
  5. Группировка элементов в словарь
  6. Списковое включение в Python
  7. Подсчет элементов в списке с Counter
  8. Передача словаря через **kwargs
  9. Путь к интерпретатору Python
  10. Обезопасьте ввод данных
  11. Анонимные функции в Python
  12. Python 3.12: Псевдонимы типов
  13. Функция enumerate() в Python
  14. Перевод двоичного кода в целое число
  15. Использование *args
  16. Получение значений из словарей
  17. Инверсия списка и строки
  18. Каналы Senior: Python, Java, Frontend, SQL, C++
  19. Проверка дубликатов в Python
  20. Структура данных словарь в Python
  21. Сортировка в Python
  22. Модуль itertools: эффективная работа с итераторами
  23. Работа с изменяемыми коллекциями
  24. Метод __iand__ для пользовательских классов
  25. Метод join() для объединения элементов в строку.
  26. Открытие и редактирование скриптов Python
  27. Объединение итераторов
  28. Оптимизация памяти с __slots__
  29. F-строки в Python 3.8
  30. Извлечение новостей с newspaper3k
  31. Генерация чисел с range()
  32. Оператор * в Python
  33. Удаление специальных символов
  34. Создание пользовательской коллекции в Python
  35. Хранение переменных в Python.
  36. Разделение строк в Python
  37. Отправка HTTP-запросов с User-Agent
  38. Concrete Paths в Python
  39. Хранение переменных в словаре.
  40. Оператор in для Python
  41. Преобразование текста в нижний регистр
  42. Взаимодействие с внешними процессами в Python
  43. globals и locals
  44. Метод join() для объединения элементов строки
  45. Переопределение метода len
  46. Кортежи в Python: особенности и преимущества
  47. Оптимизация памяти с slots
  48. Итерации в Python

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