Во всех объектно-ориентированных языках программирования есть классы и объекты. Они считаются ключевыми понятиями в ООП (объектно-ориентированном программировании). Рассказываем, что такое классы и объекты Python и как их создать.
Классы и объекты в Python можно сравнить с описанием любимых питомцев. Так, у каждого питомца есть имя, возраст, порода и другие характеристики. Все эти атрибуты присущи классам в Python. То есть класс — это определенная сущность или набор атрибутов. Например, если у животных набор атрибутов включает кличку, возраст и породу, то у человека — имя, возраст, национальность, а у автомобиля — марку, модель, год производства.
class Pet:
def __init__(self, name, age, breed):
self.name = name
self.age = age
self.breed = breed
Объект — это воплощение класса. Например, класс «домашние питомцы» включает в себя объект «котенок», который будет обладать точными атрибутами:
kitten = Pet('Мурка', 0.2, 'british shorthair')
Создавать классы и объекты в Python нужно поступательно. Сразу с помощью ключевого слова class создаем класс: задаем его название и атрибуты. После этого можно перейти к созданию объекта. Для этого нужно использовать следующий запрос:
[название объекта] = [название класса] (начальные значения атрибутов)
К атрибутам можно обратиться и получить их значения. Также их легко можно изменить как:
[название объекта].[свойство] = [значение]
print(kitten.name) # => Мурка
kitten.name = 'Шоша'
print(kitten.name) #=> Шоша
Свойства объекта можно и удалять. Например, удалить свойство (как и весь объект) можно с помощью del.
print(kitten.age) #=> 0.2
del kitten.age
print(kitten.age)
#=> AttributeError: 'Pet' object has no attribute 'age'
Чтобы стать востребованным Python разработчиком, знаний о классах и объектах недостаточно. Важно разобраться, как работать с инструментами Git, освоить функциональное программирование, настроить непрерывную интеграцию, автоматизированное тестирование кода и многое другое.
Подробнее о всех тонкостях работы Python-разработчика рассказываем на курсе. Наши специалисты помогают начинающим программистам освоить создание сайтов, веб-приложений или бэкенд за 10 месяцев!