Классы и объекты Python
Python — это объектно-ориентированный язык программирования. Классы и объекты Python являются основными строительными блоками языка программирования Python.
Класс Python
К этому времени все вы уже должны были узнать о типах данных Python. Если вы помните, базовые типы данных в python относятся только к одному типу данных в каждый момент времени. Что было бы, если бы вы могли объявить тип данных, который сам содержит более одного типа данных и может работать с ними с помощью любой функции? Класс Python дает вам такую возможность. Класс Python — это план, на основе которого создаются экземпляры класса.
Простое объявление класса Python
Вот самая базовая структура определения класса Python.
class ClassName:
# list of python class variables
# python class constructor
# python class method definitions
Теперь давайте поработаем с реальными примерами.
#definition of the class starts here
class Person:
#initializing the variables
name = ""
age = 0
#defining constructor
def __init__(self, personName, personAge):
self.name = personName
self.age = personAge
#defining class methods
def showName(self):
print(self.name)
def showAge(self):
print(self.age)
#end of the class definition
# Create an object of the class
person1 = Person("John", 23)
#Create another object of the same class
person2 = Person("Anne", 102)
#call member methods of the objects
person1.showAge()
person2.showName()
Определение класса Python
class Person:
Эта строка отмечает начало определения класса для класса «Человек».
Переменные класса Python
#initializing the variables
name = ""
age = 0
«имя» и «возраст» — две переменные-члены класса «Человек». Каждый раз, когда мы объявляем объект этого класса, он будет содержать эти две переменные в качестве своего члена. Эта часть необязательна, так как они могут быть инициализированы конструктором.
Конструктор класса Python
#defining constructor
def __init__(self, personName, personAge):
self.name = personName
self.age = personAge
Конструктор класса Python — это первая часть кода, которая выполняется при создании нового объекта класса. Прежде всего, конструктор можно использовать для помещения значений в переменные-члены. Вы также можете распечатать сообщения в конструкторе, чтобы подтвердить, был ли создан объект. Мы узнаем большую роль конструктора, как только узнаем о наследовании Python. Метод конструктора начинается с def __init__. После этого первым параметром должен быть «я», так как он передает ссылку на экземпляр самого класса. Вы также можете добавить дополнительные параметры, как показано в примере. «personName» и «personAge» — это два параметра, которые отправляются при создании нового объекта.
Методы класса Python
#defining python class methods
def showName(self):
print(self.name)
Методы объявляются следующим образом:
def method_name(self, parameter 1, parameter 2, …….)
statements……..
return value (if required)
В предварительно заданном примере мы видели, что метод showName()
выводит значение «имя» этого объекта. Мы еще поговорим о методах Python как-нибудь в другой раз.
Объект класса Python
# Create an object of the class
person1 = Person("Richard", 23)
#Create another object of the same class
person2 = Person("Anne", 30)
#call member methods of the objects
person1.showAge()
person2.showName()
Способ создания объектов в python довольно прост. Сначала вы указываете имя нового объекта, за которым следует оператор присваивания и имя класса с параметрами (как определено в конструкторе). Помните, количество и тип параметров должны быть совместимы с параметрами, полученными в функции-конструкторе. Когда объект создан, можно вызвать методы-члены и получить доступ к атрибутам-членам (при условии, что они доступны).
#print the name of person1 by directly accessing the ‘name’ attribute
print(person1.name)
Это все, что касается основ класса python. Поскольку мы собираемся узнать об объектно-ориентированных функциях Python, таких как наследование и полиморфизм, в последующих руководствах, мы узнаем больше о классе Python и его функциях. А пока удачного кодирования и до свидания! Не стесняйтесь комментировать, если у вас есть какие-либо вопросы. Ссылка: Документация Python.org