Предыдущий урок: Массивы
Python — объектно-ориентированный язык программирования. Почти все в Python — это объект с его свойствами и методами. Класс похож на конструктор объекта или ‘‘проект’’ для создания объектов.
Создание класса
Для того, чтобы создать класс, используйте ключевое слово class
.
Создадим класс с именем MyClass
и свойством x
:
class MyClass:
x = 5
Создание объекта
Теперь мы можем использовать класс под названием myClass
для создания объектов.
Создадим объект под названием p1
, и выведем значение x
:
p1 = MyClass()
print(p1.x)
Вывод:
5
Функция init
Приведенные выше примеры — это классы и объекты в их простейшей форме и не очень полезны в приложениях.
Чтобы понять значение классов, нам нужно понять встроенную функцию __init__
.
У всех классов есть функция под названием __init__()
, которая всегда выполняется при создании объекта. Используйте функцию __init__()
для добавления значений свойствам объекта или других операций, которые необходимо выполнить, при создании объекта.
Для создания класса под названием Person
, воспользуемся функцией __init__()
, что бы добавить значения для имени и возраста:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
p1 = Person("Василий", 36)
print(p1.name)
print(p1.age)
Вывод:
Василий
36
Обратите внимание: Функция __init__()
автоматически вызывается каждый раз при использовании класса для создания нового объекта.
Методы объектов
Объекты также содержат методы. Методы в объектах — это функции, принадлежащие объекту.
Давайте создадим метод в классе Person
.
Добавим функцию, которая выводит приветствие, и выполним ее:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def myfunc(self):
print("Привет, меня зовут " + self.name)
p1 = Person("Василий", 36)
p1.myfunc()
Вывод:
Привет, меня зовут Василий
Параметр self
Параметр self
является ссылкой на сам класс и используется для доступа к переменным, принадлежащим классу.
Его не обязательно называть self
, вы можете называть его как хотите, но он должен быть первым параметром любой функции в классе.
Используем слова mysillyobject
и abc
вместо self
:
class Person:
def __init__(mysillyobject, name, age):
mysillyobject.name = name
mysillyobject.age = age
def myfunc(abc):
print("Привет, меня зовут " + abc.name)
p1 = Person("Василий", 36)
p1.myfunc()
Вывод:
Привет, меня зовут Василий
Изменение свойств объекта
Вы можете изменять свойства объектов следующим образом.
Изменим возраст от p1
на 40:
p1.age = 40
Больше примеров применения class в Python 3: Примеры работы с классами в Python
Удалить свойства объекта
Свойства объектов можно удалять с помощью ключевого слова del
del p1.age
Удаление объектов
Вы можете удалить объекты, используя ключевое слово del
.
del p1
Далее: Итераторы Python