Серия Python для начинающих — часть 15

В последней части серии мы узнали о функциях в Python. В этой части мы узнаем о классе в Python.

Python — это объектно-ориентированный язык программирования, и одной из его важнейших функций является возможность создавать и использовать классы. Класс — это план создания объектов, которые являются экземплярами класса. В этой статье мы рассмотрим основы классов Python и их использование.

Создание класса

Чтобы создать класс в Python, мы используем ключевое слово class, за которым следует имя класса. Давайте создадим простой класс с именем Person:

class Person:
    pass

Ключевое слово pass используется в Python в качестве заполнителя для обозначения пустого блока кода. Позже мы добавим в этот класс методы и свойства.

Свойства класса

Классы могут иметь свойства, похожие на переменные, принадлежащие классу. Доступ к свойствам и их изменение можно получить с помощью методов класса или экземпляров класса.

Чтобы определить свойство, мы создаем переменную внутри класса. Давайте добавим свойство name в наш класс Person:

class Person:
    name = "John Doe"

Теперь мы можем получить доступ к свойству name класса Person следующим образом:

print(Person.name)  # Output: "John Doe"

Мы также можем изменить свойство:

Person.name = "Jane Doe"
print(Person.name)  # Output: "Jane Doe"

Методы класса

Классы также могут иметь методы, похожие на функции, принадлежащие классу. Методы могут получать доступ к свойствам класса и изменять их, а также могут вызываться для экземпляров класса.

Чтобы определить метод, мы создаем функцию внутри класса. Давайте добавим метод greet в наш класс Person:

class Person:
    name = "John Doe"

    def greet(self):
        print(f"Hello, my name is {self.name}")

Параметр self является ссылкой на экземпляр класса. Мы будем использовать этот параметр для доступа и изменения свойств класса.

Теперь мы можем вызвать метод greet для экземпляра класса Person:

person = Person()
person.greet()  # Output: "Hello, my name is John Doe"

Мы также можем изменить свойство name и снова вызвать метод greet:

person.name = "Jane Doe"
person.greet()  # Output: "Hello, my name is Jane Doe"

Метод конструктора

Классы Python могут иметь специальный метод __init__, который используется для инициализации свойств экземпляра при его создании. Этот метод также известен как метод конструктора.

Давайте изменим наш класс Person, включив в него метод конструктора:

class Person:
    def __init__(self, name):
        self.name = name

    def greet(self):
        print(f"Hello, my name is {self.name}")

Метод __init__ принимает параметр name, который используется для установки свойства name экземпляра.

Теперь мы можем создать экземпляр класса Person и передать имя конструктору:

person = Person("John Doe")
person.greet()  # Output: "Hello, my name is John Doe"

Наследование

Классы Python могут наследовать свойства и методы других классов. Класс, от которого наследуется, называется суперклассом или родительским классом, а класс, который наследуется, называется подклассом или дочерним классом.

Чтобы создать подкласс, мы определяем новый класс и указываем суперкласс в скобках после имени класса. Давайте создадим класс Student, который наследуется от Person:

class Person:
  def init(self, name):
    self.name = name

  def greet(self):
    print(f"Hello, my name is {self.name}")


class Student(Person):
  def init(self, name, student_id):
    super().init(name)
    self.student_id = student_id

  def study(self):
    print(f"{self.name} is studying.")


student = Student("John Doe", "12345")
student.greet() # Output: "Hello, my name is John Doe"
student.study() # Output: "John Doe is studying."

Функция super() используется для вызова метода __init__ суперкласса. В этом примере мы вызываем метод __init__ класса Person, чтобы установить свойство name экземпляра.

Заключение

Классы Python — мощная функция языка, позволяющая создавать объекты со свойствами и методами. В этой статье мы рассмотрели основы создания классов, определения свойств и методов, использования метода конструктора и реализации наследования. С помощью этих инструментов вы можете создавать сложные программы и код многократного использования, который легко читать и поддерживать.

Свяжитесь со мной:

LinkedIn, Medium, Instagram, Kaggle и GitHub.

Если вам нравится читать истории, подобные этой, и вы хотите поддержать меня, подумайте о том, чтобы стать участником Medium. Взяв 5 долларов в месяц, вы открываете неограниченный доступ к историям на Medium. Если вы воспользуетесь моей ссылкой для регистрации, я получу небольшую комиссию.

Уже участник? Подпишитесь, чтобы получать уведомления, когда я опубликую.



Дополнительные материалы на PlainEnglish.io.

Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter, LinkedIn, YouTube и Discord .

Заинтересованы в масштабировании запуска вашего программного обеспечения? Ознакомьтесь с разделом Схема.