Руководство для начинающих по объектно-ориентированному программированию на Python

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

Если вы на самом деле не занимаетесь программированием, почему бы не взглянуть на эти лучшие наброски Monty Python?

? В конце концов, они вдохновили язык!

Подождите, Python не настоящий язык?

Давайте проясним одно: Python — это настоящий язык программирования, он популярен и быстро растет. Просто потому, что он читается как псевдокод, и вы можете кодировать Minecraft на Pi с его помощью

, это не значит, что вы должны игнорировать его как менее важный язык.

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

Руководство по объектно-ориентированному программированию для Python

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

или как насчет простого проекта, такого как чтение и запись в Google Sheets с Python

?

Необходимые условия и настройка Python

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

Вы хотите создать виртуальную среду

если у вас его еще нет, установите PIP для Python

если он не установлен (хотя он поставляется с большинством современных установок Python). После того, как вы получили эти настройки, вам будет хорошо идти. Давайте начнем!

Основы Python: классы

учебный класс является основным строительным блоком ООП. Класс — это как план или план. Они определяют характеристики объекта

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

Вот как сделать класс в Python:

class Vehicle:
""" This class defines vehicles. """
pass

Просто верно? Здесь происходит несколько вещей. Обратите внимание на комментарий в верхней части класса. Это специальный комментарий под названием строка документации. Это должно объяснить немного о вашем коде. Используя тройные кавычки («»»), вы говорите Python, что это строка документации.

проходить Ключевое слово говорит Python ничего не делать. Это особое слово, и вы можете думать о нем, как о todo. Это заставит ваш код работать, но на самом деле ничего не делает.

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

red_car = Vehicle()

Если вы запустите это снова, вы увидите, что ничего не происходит. Код работает правильно, но вы не сказали ему делать что-то заметное. Транспортное средство Класс определяет чертежи для транспортного средства, и эта последняя строка создает объект транспортного средства и дает ему имя Красная машина.

Можно сделать столько объектов, сколько захотите:

red_car = Vehicle()
green_car = Vehicle()
blue_car = Vehicle()

Давайте добавим еще немного кода. Добавьте метод с именем __в этом__ к Транспортное средство учебный класс:

class Vehicle:
""" This class defines vehicles. """
def __init__(self, color='plain'):
""" Setup some custom car properties """
print('New car made!')
self.color = color
red_car = Vehicle()
green_car = Vehicle()
blue_car = Vehicle()

Обратите особое внимание на это __в этом__ метод. Он должен начинаться и заканчиваться двумя подчеркиваниями. Это специальный метод в Python. Он вызывается автоматически при создании нового объекта. Запуск этого кода покажет слова «Новый автомобиль сделан!» Три раза.

Руководство по объектно-ориентированному программированию для Python

В заключение, __в этом__ принимает пользовательский аргумент под названием цвет. Знак равенства и строка, следующие сразу за ним, сообщают Python, что цвет должен быть «обычным», если он не указан. Вы можете изменить ваши экземпляры, чтобы настроить цвет вашего автомобиля при создании:

red_car = Vehicle(color='red')
green_car = Vehicle(color='green')
blue_car = Vehicle(color='blue')

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

print(red_car.color)
print(green_car.color)
print(blue_car.color)

Руководство по объектно-ориентированному программированию для Python

Это работает, потому что вы назначили цвет в self.color. Self — это другое специальное ключевое слово в Python, и оно относится к каждому конкретному экземпляру класса. Всякий раз, когда вы используете self, вы можете установить или получить доступ к данным, уникальным для этого экземпляра. Например, красный автомобиль имеет красный цвет.

Изменить ваш __в этом__ Способ хранения шума автомобиля в переменной:

self.noise = 'Vroooom'

Чтобы напечатать шум автомобиля, вы можете просто получить доступ к шум переменная, как вы сделали с цветом, но это не лучшая идея. Что если, когда вы ведете машину, вы хотите, чтобы одновременно выполнялся какой-то другой код, возможно, код, который вы еще не написали? Или что, если вы хотите изменить то, как автомобиль будет ездить в будущем? Создавая функция (также известный как метод), вы можете жестко контролировать, как все работает. Добавьте это ниже вашего __в этом__ метод:

def drive(self):
print(self.noise)

Вы можете вызвать этот метод довольно просто:

red_car.drive()

Руководство по объектно-ориентированному программированию для Python

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

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

А как насчет частных переменных в Python?

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

Python не имеет закрытых членов. Вместо этого Python опирается на систему чести: «Мы все взрослые». Программисты Python понимают, что вы, возможно, захотите поработать с чувствительными внутренностями класса, и это нормально, поэтому ничто не должно быть по-настоящему недоступным.

Тем не менее, в Python есть общепризнанное соглашение о том, что некоторые переменные помечаются как «частные» в смысле «Эта переменная предназначена для внутреннего использования, и вам, вероятно, не нужно ее трогать». Соглашение состоит в том, чтобы добавлять имена переменных к префиксу:

_some_secret_variable = 42

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

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

Понимание Наследования в Python

Наследование — это еще один способ уменьшить дублирование и повторное использование кода. Думая о родительских и дочерних отношениях, наследование позволяет ребенок поделиться общим кодом с родитель. Давайте реализуем электромобиль, который наследует от родителя.

Добавьте этот код ниже вашего Транспортное средство учебный класс:

class ElectricCar(Vehicle):
""" Electric vehicle class. """
def charge(self):
print('Zzz')
electric_car = ElectricCar()
electric_car.charge()
electric_car.noise = 'Whoosh'
electric_car.drive()

Руководство по объектно-ориентированному программированию для Python

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

У электромобиля есть свои особые методы. Он может заряжаться (то, что другие транспортные средства не могут сделать). Изменяя шум автомобиля, а затем двигаясь, вы можете видеть, что электромобиль издает другой звук, и вам не нужно было определять способ вождения. Это потому, что диск унаследован от родителя.

Расширьте свои знания Python еще дальше

Эти примеры показали, насколько простым может быть ООП в Python. Мы только что рассмотрели самые основы, но как только вы их поняли, остальное легко.

Если вы хотите продолжить изучение Python или применить эти навыки ООП на практике, почему бы не взглянуть на массивы и списки в Python, или как насчет того, чтобы заставить Python и JavaScript взаимодействовать?

Если все это заставляет вас хотеть большего, то не забудьте проверить эти лучшие веб-сайты для изучения Python.

,

Ссылка на основную публикацию
Adblock
detector