Классы и объекты Python. Часть 9 Курс Python от начального до продвинутого в 11 сообщениях в блоге
Опубликовано: 2022-01-25Эта статья поможет читателю понять основные классы Python, а также некоторые основные приложения в реальном мире. Мы будем использовать Visual Studio Code в качестве редактора кода. Если вы не установили Visual Studio Code, инструкции приведены в первом блоге.
Классы и объекты Python – оглавление:
- Классы Python
- Классы Python — определение
- Инициализация классов Python
- Давайте напишем наш первый класс Python
- Атрибуты
- Поведение класса
- Объекты в Python
- Наследование
Классы Python
Как мы уже говорили в первом блоге, Python — это объектно-ориентированный язык программирования. Есть три фразы, которые очень важны при обсуждении объектно-ориентированного программирования на Python. Первый — класс, второй — объект, третий — наследование. Начнем с того, что такое класс.
Классы Python — определение
Класс — это план или расширяемая программа, которая помогает в создании объектов. Класс состоит из поведения и состояния. Поведение класса демонстрируется с помощью функций внутри класса, которые называются методами. Состояние класса демонстрируется с помощью переменных внутри класса, которые называются атрибутами.
Инициализация классов Python
Класс можно инициализировать, используя следующий синтаксис.
Класс в Python определяется с помощью ключевого слова «класс», следующего за именем класса. Основной синтаксис функции Python показан ниже.
Например:
<img src="https://firmbee.com/wp-content/uploads/Python_9-800x600.png" alt="Python_classes" width="800" height="600" class="alignnone size-medium wp-image-21409 img-fluid" /> # Create a function # class Monkey class classname:
Примечание: имя класса также имеет те же нормы, что и объявление переменной.
Давайте напишем наш первый класс Python
# first class class Animals: pass
В приведенном выше блоке кода мы написали класс, который мы будем развивать дальше в блоге. Как видите, мы использовали ключевое слово «класс».
Давайте теперь посмотрим, как добавить компоненты в класс животного. Но перед этим давайте узнаем о конструкторе «__init__()». Конструкторы используются для создания объектов. Здесь __init__() используется для создания объекта. Конструктор может быть задан по умолчанию только с self в качестве аргумента или параметризован с обязательными аргументами.
Атрибуты
Существует два разных типа атрибутов: первые — это переменные класса, а вторые — переменные экземпляра. Переменные класса — это переменные, принадлежащие классу. Также эти переменные доступны для всех экземпляров класса. Следовательно, их значение не изменится, даже если изменится экземпляр.
# class variables class Animals: type=”mammals”
Переменные экземпляра — это переменные, принадлежащие самим экземплярам. Следовательно, они будут изменять свое значение по мере изменения экземпляра.
# class variables class Animals: def __init__(self,legs): self.legs=legs
Примечание. Переменные экземпляра недоступны для доступа по имени класса, поскольку они изменяются в зависимости от объекта, обращающегося к ним.
Давайте создадим программу, в которой объявлены переменные класса и экземпляра.
class Animals: type=”mammals” def __init__(self,name,legs): self.name=name self.legs=legs
В приведенной выше программе мы использовали как переменные экземпляра, так и переменные класса. Итак, эти переменные образуют атрибуты класса.
Поведение класса
Как уже говорилось, поведение класса определяется методами внутри класса. Но прежде чем перейти к обсуждению поведения, мы должны начать обсуждение параметра «я», который мы использовали в __init__().
Себя:
Проще говоря, всякий раз, когда мы присоединяем что-либо к себе, это говорит о том, что переменная или функция принадлежит этому классу. Кроме того, с помощью «я» можно получить доступ к атрибутам или методам класса.
Методы:
Методы класса — это функции внутри класса, у которых первым аргументом будет «я». Метод внутри класса определяется с помощью ключевого слова «def».
class Animals: type=”mammals” def __init__(self,name,legs): self.name=name self.legs=legs def bark(self): if self.name==”dog”: print(“woof woof!!!”) else: print(“not a dog”)
В приведенном выше методе «bark», поскольку мы используем переменную имени, которая является переменной экземпляра, мы обращаемся к ней, используя «я», и эта функция напечатает «гав-гав!!!», только если имя предоставлено объект, собака.
Мы обсудили большинство компонентов класса, но вы можете подумать, как проверить, работает ли класс. Ответ на этот вопрос таков: пока мы не создадим объект класса, мы не сможем увидеть, что делает класс. Теперь давайте определим и создадим объект класса.
Объекты в Python
Объект является экземпляром класса. Класс — это просто план, но объект — это экземпляр класса, который имеет фактические значения.
Код для определения или создания объекта показан ниже.
class Animals: type=”mammals” def __init__(self,name,legs): self.name=name self.legs=legs def bark(self): if self.name==”dog”: print(“woof woof!!!”) else: print(“not a dog”) dog=Animals(“dog”,4)
Для создания объекта используется следующий синтаксис: имя_объекта=имя_класса(аргументы). Следовательно, здесь мы даем животному имя «собака» и количество ног равное 4. Теперь, когда объект класса создан, следующим шагом является использование объекта для доступа к его атрибутам. Чтобы получить доступ к атрибутам класса с помощью объекта, помните, что с помощью объекта можно получить доступ только к переменным экземпляра. Переменные экземпляра в нашем классе — это имя и ноги.
class Animals: type=”mammals” def __init__(self,name,legs): self.name=name self.legs=legs def bark(self): if self.name==”dog”: print(“woof woof!!!”) else: print(“not a dog”) dog=Animals(“dog”,4) print(dog.name) print(dog.legs)
Как мы видим, мы можем получить доступ к переменным экземпляра, используя запись через точку.
Давайте исследуем вывод.
#Output dog 4
Для доступа к функциям внутри класса или методов мы будем использовать запись через точку. Пример показан ниже.
class Animals: type=”mammals” def __init__(self,name,legs): self.name=name self.legs=legs def bark(self): if self.name==”dog”: print(“woof woof!!!”) else: print(“not a dog”) dog=Animals(“dog”,4) print(dog.name) print(dog.legs) print(dog.bark())
#Output dog 4 woof woof!!!
В приведенном выше примере мы видим, что мы обращаемся к методу класса «лай», используя созданный нами объект собаки. Мы видим, что мы не используем параметр «я» в аргументах функции. Это потому, что мы не требуем использования «я» вне класса, поскольку сам объект действует как «я».
Наследование
Наследование — это процесс, посредством которого атрибуты и методы класса могут быть переданы дочернему классу. Класс, от которого наследуется дочерний класс, является родительским классом. Синтаксис наследования показан ниже.
#Inheritance class parent: class child(parent):
На приведенном выше рисунке видно, что для синтаксиса наследования мы помещаем имя родительского класса в качестве аргумента дочернего класса. Давайте воспользуемся классом Animals и создадим дочерний класс с именем dog. Это показано ниже.
class Animals: type=”mammals” def __init__(self,name,legs): self.name=name self.legs=legs def bark(self): if self.name==”dog”: print(“woof woof!!!”) else: print(“not a dog”) class Dog(Animals): def __init__(self,name,legs,breed): Animals.__init__(self,name,legs) self.breed=breed
В приведенном выше примере кода мы создали класс собаки, который расширяет класс животных, который мы создали ранее. Мы также используем параметры из Animals с помощью Animals.__init__(arguments), у которого есть имя и ноги, которые будут унаследованы классом собаки. Затем мы создаем атрибут экземпляра для класса собак, которым является порода.
Теперь давайте создадим объект для класса собаки и получим доступ к атрибутам и методам класса животных.
class Animals: type=”mammals” def __init__(self,name,legs): self.name=name self.legs=legs def bark(self): if self.name==”dog”: print(“woof woof!!!”) else: print(“not a dog”) class Dog(Animals): def __init__(self,name,legs,breed): Animals.__init__(self,name,legs) self.breed=breed pug=Dog("dog",4,"pug") pug.breed pug.name pug.legs pug.bark()
#Output pug dog 4 woof woof!!!
Как видно из вывода, к атрибутам и методам родительского класса обращается объект дочернего класса.
В этом блоге мы рассмотрели некоторые основы классов в Python. В следующем сообщении блога мы рассмотрим тему обработки файлов.
Вам также может понравиться наш курс JavaScript от начального до продвинутого.
Курс Python от начального до продвинутого в 11 сообщениях блога:
- Введение в курс Python. Часть 1 Курс Python от начального до продвинутого в 11 сообщениях в блоге
- Переменные и типы данных в Python. Часть 2 Курс Python от начального до продвинутого в 11 сообщениях в блоге
- Кортежи, списки, наборы и словари Python. Часть 3 Курс Python от начального до продвинутого в 11 сообщениях в блоге
- Наборы и словари Python. Часть 4 Курс Python от начального до продвинутого в 11 сообщениях в блоге
- Условные операторы в Python. Часть 5 Курс Python от начального до продвинутого в 11 сообщениях в блоге
- Циклы в Python. Часть 6 Курс Python от начального до продвинутого в 11 сообщениях в блоге
- Функции Python. Часть 7 Курс Python от начального до продвинутого в 11 сообщениях в блоге
- Расширенные функции в Python. Часть 8 Курс Python от начального до продвинутого в 11 сообщениях в блоге
- Классы и объекты Python. Часть 9 Курс Python от начального до продвинутого в 11 сообщениях в блоге
- Файлы в Питоне. Часть 10 Курс Python от начального до продвинутого в 11 сообщениях в блоге
- Приложения Python на практике. Часть 11 Курс Python от начального до продвинутого в 11 сообщениях в блоге