Атрибуты
Часть раздела Object Oriented Programming путешествия по Python на Coddy — урок 6 из 64.
Атрибуты — это данные или переменные, которые принадлежат классу или его объектам. Они хранят информацию о состоянии объекта.
Существует два типа атрибутов:
Атрибуты класса — общие для всех объектов класса:
class Student:
school_name = "Python Academy" # атрибут классаАтрибуты экземпляра — уникальные для каждого объекта:
class Student:
school_name = "Python Academy"
def set_info(self, name, age):
self.name = name # атрибут экземпляра
self.age = age # атрибут экземпляраСоздайте объекты студентов и установите их индивидуальные данные:
student1 = Student()
student2 = Student()
student1.set_info("Alice", 20)
student2.set_info("Bob", 22)Доступ к атрибутам экземпляра (уникальным для каждого объекта):
print(student1.name) # Alice
print(student2.name) # Bob
print(student1.age) # 20Доступ к атрибутам класса (одинаковым для всех объектов):
print(student1.school_name) # Python Academy
print(student2.school_name) # Python Academy
print(Student.school_name) # Python AcademyВывод:
Alice
Bob
20
Python Academy
Python Academy
Python AcademyКлючевое отличие: Атрибуты класса являются общими для всех объектов, в то время как атрибуты экземпляра уникальны для каждого объекта. Используйте self.attribute_name для атрибутов экземпляра и просто attribute_name для атрибутов класса.
Шпаргалка
Атрибуты — это данные или переменные, которые принадлежат классу или его объектам.
Атрибуты класса — общие для всех объектов класса:
class Student:
school_name = "Python Academy" # атрибут классаАтрибуты экземпляра — уникальны для каждого объекта, определяются с помощью self:
class Student:
school_name = "Python Academy"
def set_info(self, name, age):
self.name = name # атрибут экземпляра
self.age = age # атрибут экземпляраДоступ к атрибутам экземпляра:
student1 = Student()
student1.set_info("Alice", 20)
print(student1.name) # AliceДоступ к атрибутам класса:
print(student1.school_name) # Python Academy
print(Student.school_name) # Python AcademyПопробуйте сами
В этом уроке нет задания по программированию.
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Object Oriented Programming
1Основы ООП
Внешние файлыВведение в ООПКлассы и объектыПараметр selfМетодыАтрибутыМетод-конструктор (__init__)Повторение — Простой калькулятор4Наследование
Базовое наследованиеФункция super()Переопределение методовМножественное наследованиеПорядок разрешения методовИтоги — Иерархия сотрудников7Специальные методы
Введение в магические методыПерегрузка операторовМагические методы контейнеровПовторение — Пользовательский список10Паттерны проектирования. Часть 1
Введение в паттерны проектированияПаттерн SingletonПаттерн FactoryПаттерн ObserverПаттерн Strategy5Полиморфизм
Снова о переопределении методовУтиная типизацияАбстрактные классы и методыПроектирование интерфейсовИтоги — Калькулятор фигур8Продвинутые концепции ООП
Композиция против наследованияМиксиныСтатические методы и методы классаДекораторы классовМенеджеры контекста11Паттерны проектирования. Часть 2
Паттерн КомандаПаттерн АдаптерПаттерн ДекораторПаттерн Шаблонный методПаттерн СостояниеПаттерн Компоновщик3Свойства классов
Переменные экземпляра и классаДекораторы свойствПриватные атрибутыИтоги — Менеджер банковского счета6Инкапсуляция
Public, Protected, Private члены классаМодификаторы доступаСокрытие данныхДекораторы property: продвинутый уровеньИтоги: Система учета студентов12Проект: Управление библиотекой
Обзор проектаКлассы Book и User