Курс Python → Атрибуты класса и экземпляра

Атрибуты класса в Python — это переменные, которые относятся ко всем экземплярам данного класса. Они определяются внутри класса, но вне любых методов, используя синтаксис self.atribute_name. Эти атрибуты доступны для всех экземпляров данного класса и могут быть изменены через любой из них.

Атрибуты экземпляра, с другой стороны, относятся только к конкретному экземпляру класса. Они создаются внутри методов класса и могут быть доступны только через данный экземпляр. Для создания атрибута экземпляра используется синтаксис self.atribute_name, но уже внутри метода класса.

При обращении к атрибуту класса, если он не найден в словаре текущего класса, Python будет автоматически искать его в родительских классах. Это позволяет наследовать атрибуты класса и использовать их в дочерних классах без необходимости их повторного определения.


class MyClass:
    class_attribute = 10
    
    def __init__(self, instance_attribute):
        self.instance_attribute = instance_attribute

obj1 = MyClass(5)
obj2 = MyClass(8)

print(obj1.class_attribute)  # Вывод: 10
print(obj2.class_attribute)  # Вывод: 10

print(obj1.instance_attribute)  # Вывод: 5
print(obj2.instance_attribute)  # Вывод: 8

В данном примере, class_attribute является атрибутом класса, общим для всех экземпляров класса, а instance_attribute — атрибутом экземпляра, уникальным для каждого экземпляра. При обращении к атрибутам класса и экземпляра, Python автоматически учитывает наследование и поиск в родительских классах.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Обработка ошибок ввода данных
  2. Взаимодействие с внешними процессами в Python
  3. Работа с каталогами в Python
  4. Описание скриптов в README
  5. Обработка исключений в Python
  6. Кортежи в Python: особенности и преимущества
  7. Работа с файловой системой в Python
  8. Инициализация переменных
  9. Списковое включение в Python
  10. Работа с контекстными менеджерами
  11. Функции с необязательными аргументами
  12. Python: библиотеки и функции
  13. Экспорт функций в Python
  14. Импорт модулей в Python 3.12
  15. Присоединение элементов коллекции
  16. Поиск наиболее частого элемента
  17. Метод getitem для доступа к элементам последовательности
  18. Форматирование строк в Python
  19. Lambda-функция в Python: использование с map() и sum()
  20. Enum в Python
  21. Просмотр атрибутов и методов класса
  22. Освобождение памяти в Python
  23. Избегайте изменяемых аргументов
  24. Генератор чисел Фибоначчи
  25. Инверсия списка и строки
  26. Работа с zip()
  27. Функция enumerate() в Python
  28. Функция product() из itertools
  29. Циклы for в Python
  30. Преобразование строк в числа с плавающей запятой
  31. Работа с комплексными числами
  32. Вывод сложных структур данных с помощью pprint
  33. Блок try…finally в Python
  34. Транспонирование матрицы
  35. Создание виртуальной среды
  36. Удаление дубликатов с сохранением порядка с помощью dict.fromkeys
  37. Цикл for в Python
  38. Разница между датами
  39. Работа с файлами в Python
  40. Декораторы в Python
  41. Управление асинхронными задачами на Python.
  42. Создание даты из строки ISO
  43. Метод join() для объединения строк
  44. Метод enumerate() в Python
  45. Управление памятью в Python
  46. Транспонирование 2D-массива с помощью zip
  47. Создание итератора

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