Основы Python: как работают классы и объекты

Python — это объектно-ориентированный язык программирования. Классы и объекты являются основными строительными блоками в этом языке.

Классы Python

Читайте также: Типы данных в Python 3

Если вы помните, базовые типы данных в 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. Комментарии объясняют другим разработчикам, которые читают ваш код, что именно этот код делает. Вы получите следующий результат:

Объявление классов в Python

Эта строка отмечает начало определения класса для класса ‘Person’:

class Person:

Переменные классов Python

    #initializing the variables 
    name = "" 
    age = 0

‘name’ и ‘age’ — две переменные, которые включены в класс ‘Person’. Каждый раз, когда мы объявляем объект этого класса, он будет содержать эти две переменные. Эта часть опциональна, так как объекты могут быть также инициализированы конструктором.

Конструктор классов Python

    #defining constructor 
    def __init__(self, personName, personAge): 
        self.name = personName 
        self.age = personAge

Конструктор класса Python — это первая часть кода, которая выполняется при создании нового объекта. Прежде всего, конструктор можно использовать для помещения значений в переменные-члены. Также в конструкторе можно выводить сообщения, которые подтвердят, что объект был создан. Роль конструктора вы сможете оценить по достоинству, когда изучите наследование Python. Метод конструктора начинается с def __init__. После этого первым параметром должен быть self, так как он передает ссылку на экземпляр самого класса. Вы также можете добавить дополнительные параметры, как показано в примере выше. ‘personName’ and ‘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, таких как наследование и полиморфизм, читайте следующие материалы:

Рекомендуем также постоянно практиковаться в написании кода самостоятельно.

Tags:

Добавить комментарий