Серия 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 .
Заинтересованы в масштабировании запуска вашего программного обеспечения? Ознакомьтесь с разделом Схема.