Поиск по сайту:

Классы и объекты 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