Полное руководство по концепциям ООП в Python

Опубликовано: 2020-10-22

Объектно-ориентированное программирование или ООП уже некоторое время является неотъемлемой частью мира программного обеспечения. Это отличная парадигма программирования, которая предлагает определенный уровень свободы и расширяет возможности программирования для разработчика.

Существуют определенные базовые концепции и принципы, которые должен знать каждый разработчик. Они определяют основу для разработки приложения с использованием этой модели.

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

Оглавление

Что такое объектно-ориентированное программирование?

Для непосвященных, вот с чего мы собираемся начать нашу индукцию. Давайте разберемся с ООП так, как это сделал бы неспециалист, чтобы глубже понять, как мы можем это реализовать.

В этой структуре программирования вы можете легко комбинировать вещи со схожими свойствами или поведением в один объект. Если вы говорите о демографии, то она становится единым объектом для этой модели программирования. Точно так же, если вы говорите о действиях, которые необходимо предпринять, тогда это становится другим объектом.

Все они являются объектами, которые содержат необработанные данные. Ваше программное решение запрограммирует эти объекты таким образом, чтобы они вместе выполняли конечную цель. Эти объекты вместе выполнят несколько действий, запрограммированных вами, и выдадут результат.

Отличным примером, помогающим понять это, может быть программа электронной почты.

Допустим, у вас есть один объект, содержащий содержимое электронной почты, например имя получателя и тему. Существует второй объект, который детализирует вложение и отправку электронной почты. Вы разработаете программу, которая будет автоматически объединять эти объекты, следить за тем, чтобы полностью написанное электронное письмо было готово с нужными вложениями, и отправлять его получателю.

Вот как работает ООП. Однако некоторые концепции приводят это в действие. Давайте кратко рассмотрим эти концепции и то, как они работают.

Читайте: Является ли Python объектно-ориентированным языком?

Как определить класс?

Класс определяет каждый объект и является важным аспектом концепций ООП в Python . Допустим, у вас есть четыре объекта, такие как глаза, уши, рот и нос. Это части лица, которое является классом.

Давайте начнем с того, как определить класс.

Допустим, вы говорите о классе под названием электронная почта.

Электронная почта класса:

проходить

Так определяется класс. Используйте «проход», чтобы при запуске кода в компиляторе не выдавались ошибки.

Только определение класса может вам не сильно помочь. Вам нужно добавить некоторые свойства, чтобы сделать его привлекательным и полезным. Итак, вам нужно добавить объекты в свой класс.

Метод ._init_() может оказаться полезным при определении свойств внутри класса.

Это гарантирует, что каждый раз, когда вы создаете новый объект для класса, этот метод будет устанавливать параметры в начальное состояние, таким образом, каждый раз инициализируя новый объект.

Первым параметром для этого метода всегда будет self, даже если вы присвоите ему несколько параметров.

Итак, что происходит в этом случае? Допустим, вы создали новый класс. Экземпляр передается в параметр self. В результате ._init_() может назначать новые свойства определенному объекту.

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

Электронная почта класса:

def ._init_(я, имя, получатель, адрес):

self.name = имя

self.recipient = получатель

личный.адрес = адрес

Давайте разберем этот код для лучшего понимания.

Отступ, выраженный в приведенном выше коде, имеет решающее значение. Вы должны сопоставить то же самое при написании своей программы с использованием ООП в Python . Давайте разберемся с переменной self в приведенном выше коде.

self.name создает атрибут, который называется name. Этому атрибуту присваивается значение параметра имени. Точно так же атрибуты и значения присваиваются и другим переменным.

Эти атрибуты известны как instance. Вам нужно будет указать значение каждого атрибута, упомянутого в конкретном экземпляре. Допустим, есть два типа писем — приветствие и поддержка. Получатель электронной почты будет отличаться для обоих экземпляров (приветственные электронные письма и электронные письма о развитии).

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

Электронная почта класса:

#Атрибут класса

Электронная почта: «Входящие электронные письма»

def ._init_(я, имя, получатель, адрес):

self.name = имя

self.recipient = получатель

личный.адрес = адрес

Узнайте о том, как кодировать, компилировать и запускать проекты Java.

Понимание переменных класса и экземпляра

Давайте возьмем приведенный выше пример, в котором мы создали атрибут класса, а также две переменные экземпляра, чтобы лучше понять ООП в Python .

Электронная почта класса:

Электронная почта: «Входящие электронные письма»

def ._init_(я, имя, получатель, адрес):

self.name = имя

self.recipient = получатель

личный.адрес = адрес

Давайте поговорим о создании экземпляров объектов в этом классе. Вам необходимо установить значения для каждого из этих объектов. Это будет начальное значение для каждого объекта, как обсуждалось в предыдущей части руководства. Если вы не присвоите значения этим объектам, вы получите TypeError.

>>> Электронная почта()

Traceback (последний последний вызов):

Файл «<pyshell#6>», строка 1, в <module>

Эл. адрес ()

TypeError: __init__() отсутствуют 4 позиционных аргумента: «имя», «получатель» и «адрес»

Мы можем добавить значение сразу после имени класса.

Электронная почта воспитания = электронная почта (воспитание, Дэвид, [email protected])

Приветственное письмо = электронная почта (Добро пожаловать, Дейзи, [email protected])

С помощью приведенного выше кода мы создали два экземпляра: для развивающего электронного письма и приветственного электронного письма. Давайте проверим __init__(), определенный после экземпляра класса для приведенного выше кода. Мы видим четыре параметра, включая self. Однако ни одна переменная не была упомянута для себя. Давайте разбираться, почему?

Таким образом, всякий раз, когда вы создаете новый объект в классе, вы создаете экземпляр класса. При этом вы будете назначать адрес памяти, где будет храниться переменная. Как только вы создадите экземпляр нового объекта, Python автоматически создаст экземпляр, и он будет передан первой переменной в методе .__init__(). В результате в этом методе self удаляется.

С помощью переменной класса вы можете гарантировать, что каждый созданный вами экземпляр имеет связанную с ним переменную или значение. Это обеспечит более быстрые и простые результаты и, следовательно, более безопасные выводы для вашего программирования.

Читайте также: Обязательно прочитайте 47 вопросов и ответов на собеседовании OOPS для первокурсников и опытных

Подводя итоги

Здесь мы поняли различные аспекты создания класса, объекта и метода с использованием модели программирования Python OOP. Помимо этого, мы также поняли такие понятия, как экземпляры и создание экземпляров, которые являются ключевыми для программирования ООП в Python. Далее вам нужно будет понять принципы, управляющие этими экземплярами и классами, такие как наследование, полиморфизм, абстракция и инкапсуляция. Это основные концепции ООП в Python , которые управляют вашим приложением и его результатами.

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

Если вам интересно изучать науку о данных, чтобы быть в авангарде быстро развивающихся технологий, ознакомьтесь с дипломом PG upGrad & IIIT-B в области науки о данных и повышайте свою квалификацию для будущего.

Почему мы используем ООП?

Объектно-ориентированное программирование (ООП) — это среда программирования, основанная на разработке многоразовых «объектов» с их атрибутами и поведением, с которыми можно воздействовать, манипулировать и упаковывать. Python поддерживает как ООП, так и другие фреймворки. В Python вы достигаете ООП, используя классы. Python обладает всеми обычными характеристиками объектно-ориентированного программирования. Разработчики используют ООП в своих приложениях Python, потому что это делает код более пригодным для повторного использования и упрощает работу с большими программами. Поскольку класс можно определить только один раз и использовать несколько раз, системы ООП предотвращают дублирование кода. В результате ООП упрощает следование концепции «Не повторяйся» (DRY).

Что такое класс?

Класс Python подобен схеме создания нового объекта. Объект — это все, что вы хотите модифицировать или изменить во время кодирования. Когда мы создаем экземпляр объекта класса, что происходит при определении переменной, новый объект создается с нуля. Объекты класса можно повторно использовать столько раз, сколько необходимо. Класс используется для создания каждого элемента. Считайте, что это план для определенного вида предмета. Классы перечисляют атрибуты, необходимые для этого типа объекта, но не присваивают им значения. Классы также определяют методы, общие для всех объектов одного типа.

Что такое переменная экземпляра?

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