Python – это объектно-ориентированный язык программирования. Классы и объекты Python – основные строительные блоки языка программирования Python.
Класс Python
К настоящему моменту все вы должны уже знать о Типах данных Python. Если помните, базовые типы данных в Python относятся только к одному виду данных. Как бы вы смотрели на возможность объявить тип данных, который сам по себе содержит более одного типа данных и может работать с ними с помощью любой функции? Вам предоставляется эта возможность с помощью класса Python. Класс Python – это чертеж, на основе которого создаются экземпляры класса.
Простое объявление класса Python
Вот очень базовая структура определения класса Python.
class ClassName:
# список переменных класса Python
# конструктор класса Python
# определения методов класса Python
Теперь давайте поработаем с реальными примерами.
#начало определения класса
class Person:
#инициализация переменных
name = ""
age = 0
#определение конструктора
def __init__(self, personName, personAge):
self.name = personName
self.age = personAge
#определение методов класса
def showName(self):
print(self.name)
def showAge(self):
print(self.age)
#конец определения класса
# Создание объекта класса
person1 = Person("John", 23)
#Создание другого объекта того же класса
person2 = Person("Anne", 102)
#вызов методов-членов объектов
person1.showAge()
person2.showName()
Этот пример довольно наглядно объясняет себя. Как мы знаем, строки, начинающиеся с “#”, являются комментариями Python. Комментарии объясняют следующие исполняемые шаги. Этот код выводит следующий результат.
Определение класса Python
class Person:
Эта строка обозначает начало определения класса для класса ‘Person’.
Переменные класса Python
#инициализация переменных
name = ""
age = 0
‘name’ и ‘age’ – две переменные-члены класса ‘Person’. Каждый раз, когда мы объявляем объект этого класса, он будет содержать эти две переменные как свои члены. Эта часть необязательна, так как они могут быть инициализированы конструктором.
Конструктор класса Python
#определение конструктора
def __init__(self, personName, personAge):
self.name = personName
self.age = personAge
Конструктор класса Python – это первый фрагмент кода, который выполняется при создании нового объекта класса. Прежде всего, конструктор может использоваться для установки значений переменных-членов. Вы также можете выводить сообщения в конструкторе, чтобы подтвердить, был ли создан объект. Мы узнаем о более важной роли конструктора, когда будем разбираться с наследованием в Python. Метод конструктора начинается с def __init__. Затем первым параметром должен быть ‘self’, так как он передает ссылку на экземпляр самого класса. Вы также можете добавить дополнительные параметры, как показано в примере. ‘personName’ и ‘personAge’ – это два параметра, которые передаются при создании нового объекта.
Методы класса Python
#определение методов класса Python
def showName(self):
print(self.name)
Методы объявляются следующим образом:
def method_name(self, parameter 1, parameter 2, …….)
statements……..
return value (if required)
В представленном выше примере мы видим, что метод showName()
выводит значение ‘name’ этого объекта. Мы обсудим намного больше о методах Python в какой-то другой день.
Объект класса Python
# Создайте объект класса
person1 = Person("Richard", 23)
# Создайте еще один объект того же класса
person2 = Person("Anne", 30)
# Вызывайте методы объектов
person1.showAge()
person2.showName()
Способ создания объектов в Python довольно прост. Сначала вы указываете имя нового объекта, за которым следует оператор присваивания и имя класса с параметрами (как определено в конструкторе). Помните, что количество и тип параметров должны совпадать с параметрами, полученными в функции конструктора. Когда объект создан, можно вызывать методы объекта и получать доступ к атрибутам объекта (при условии, что они доступны).
# Выведите имя person1, обращаясь к атрибуту 'name' напрямую
print(person1.name)
Это все основы класса Python. Поскольку мы собираемся изучать объектно-ориентированные возможности Python, такие как наследование, полиморфизм, в последующих учебниках, мы узнаем больше о классе Python и его возможностях. До тех пор, удачного кодирования и до свидания! Не стесняйтесь оставлять комментарии, если у вас есть какие-либо вопросы. Ссылка: Документация Python.org
Source:
https://www.digitalocean.com/community/tutorials/python-classes-objects