№19 Классы и объекты Python / Уроки по Python для начинающих
Python — объектно-ориентированный язык программирования. Почти все в Python — это объект с его свойствами и методами. Класс похож на конструктор объекта или ‘‘проект’’ для создания объектов.
Создание класса
Для того, чтобы создать класс, используйте ключевое слово class .
Создадим класс с именем MyClass и свойством x :
Создание объекта
Теперь мы можем использовать класс под названием myClass для создания объектов.
Создадим объект под названием p1 , и выведем значение x :
Функция 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)
Обратите внимание: Функция __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:
Больше примеров применения class в Python 3: Примеры работы с классами в Python
Удалить свойства объекта
Свойства объектов можно удалять с помощью ключевого слова del
Удаление объектов
Вы можете удалить объекты, используя ключевое слово del .