Класс и его экземпляр, переменные и методы класса
Создание классов
Для создания класса необходимо прописать ключевое слово class
и далее название для класса. Общепринято начинать названия классов с буквы в верхнем регистре, но если этого не сделать, то ошибки не будет.
Описав новый класс и поместив туда какую-либо информацию мы можем создавать на основе него новые объекты. Объекты будут иметь доступ ко всем характеристикам класса.
Пример простого класса приведен ниже:
class Book:
pass # Класс может ничего не возвращать
Класс состоит из объявления (инструкция class), имени класса (нашем случае это имя Book) и тела класса, которое содержит атрибуты и методы (в нашем минимальном классе есть только одна инструкция pass).
На основе такого класса мы можем создать множество объектов. Каждый объект в данном случае будет представлять из себя конкретную книжку. Для каждого объекта мы можем указать уникальные данные.
Чтобы создать объект нам потребуется следующий код:
book_new = Book() # Создание объекта
book_second = Book() # Создание 2 объекта
Рассмотрим более сложный пример
class Person:
name = "Ivan"
age = 10
def set(self, name, age):
self.name = name
self.age = age
Переменные name
и age
в классе называться атрибуты класса. Функция set()
методом класса.
Мы можем создать несколько объектов, и продемонстрировать как это все работает
vlad = Person()
vlad.set("Влад", 25)
print (vlad.name + " " + str(vlad.age))
ivan = Person()
ivan.set("Иван", 56)
print (ivan.age)
Конструктор класса — метод __init__
Большинство классов имеют специальный метод, который автоматически запускается при создании объекта.
Такой метод называется конструктором класса и в языке программирования Python носит имя __init__. (В начале и конце по два знака подчеркивания.)
Первым параметром, как и у любого другого метода, у __init__
является self
, на место которого подставляется объект в момент его создания. Второй и последующие (если есть) параметры заменяются аргументами, переданными в конструктор при вызове класса. Ранее мы рассмотрели пример без конструктора, теперь перепишем наш класс с использованием конструктора.
class Person:
name = "Ivan"
age = 10
def __init__(self, name, age):
self.name = name
self.age = age
И примеры создания экземпляра класса с использованием конструктора.
vlad = Person ("Влад", 25)
print (vlad.name + " " + str(vlad.age))
Что такое self?
До этого момента вы уже успели познакомиться с ключевым словом self
. self
– это ссылка на текущий экземпляр класса. В таких языках как Java, C# аналогом является ключевое слово this. Через self вы получаете доступ к атрибутам и методам класса внутри него самого:
class Person:
name = "Ivan"
age = 10
def __init__(self, name, age):
self.name = name
self.age = age
def print_data(self)
print (self.name + " " + str(self.age))
Пример использования
vlad = Person ("Влад", 25)
vlad.print_data()
Наш ознакомительный курс по Python закончен. Мы ни в коем случае не претендуем на его полноту, мы лишь коснулись Python, и то, только в той практической части которая понадобится нам для дальнейшего обучения робототехнике. Продолжаете изучать Python самостоятельно и это поможет вам достигать новых вершин и в робототехнике!