Курс 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.
  3. Создание панели меню Tkinter
  4. Форматирование заголовков в Python
  5. Метод __call__ в Python
  6. Удаление ссылок в Python
  7. Профилирование с cProfile
  8. Вакансии в Nebius
  9. Закрытие файла в Python
  10. Роль ключевого слова self
  11. Определение размера папок в Python
  12. Область видимости переменных
  13. Встроенные функции Python
  14. F-строки в Python 3.8
  15. Измерение времени выполнения кода с использованием time
  16. Оператор «not» в Python
  17. Проверка окончания строки с помощью str.endswith()
  18. Параллельные вычисления в Python
  19. Область видимости переменных
  20. Измерение времени выполнения кода с помощью time
  21. inspect в Python: анализ кода
  22. Официальный канал Python в Telegram
  23. Оптимизация гиперпараметров с Scikit Optimize
  24. Отправка HTTP-запросов с User-Agent
  25. Многострочные комментарии в Python
  26. Подсчет частоты элементов с Counter
  27. Генератор бросков кубиков
  28. Генерация случайных чисел в Python
  29. Хеширование паролей с солью
  30. Функция map() в Python
  31. Модуль os в Python: работа с файлами
  32. Метод pop() списка
  33. Разделение строки с помощью re.split()
  34. Работа с географическими данными в Python
  35. Получение текущей директории
  36. Списковое включение в Python
  37. Управление контекстом выполнения
  38. Управление контекстом с помощью декоратора contextmanager
  39. Создание GUI с Tkinter: Entry
  40. Замена текста с re.sub()
  41. Применение функции к списку
  42. Создание матрицы в Python
  43. Отладка в командной строке
  44. Округление дробей в Python
  45. Переворот строки с использованием цикла

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