САМОСТОЯТЕЛЬНОЕ ОБУЧЕНИЕ ДЛЯ ВЕБ РАЗРАБОТЧИКОВ
×

Python Учебник

Python Главная Python Введение Python Начало работ Python Синтаксис Python Комментарии Python Переменные Python Тип данных Python Числа Python Подбор Python Строки Python Булевы Python Операторы Python Списки Python Кортежи Python Наборы Python Словари Python If...Else Python Циклы While Python Циклы For Python Функции Python Лямбда Python Массивы Python Классы/Объекты Python Наследование

Python Классы и Объекты



Классы/Объекты Python

Python это объектно-ориентированный язык программирования.

Почти все в Python является объектом со своими свойствами и методами.

Класс подобен конструктору объектов или «чертежу» для создания объектов.


Создать класс

Чтобы создать класс, используйте ключевое слово class:

Пример

Создайте класс с именем MyClass со свойством с именем x:

class MyClass:
  x = 5
Попробуйте сами »

Создать объект

Теперь мы можем использовать класс с именем MyClass для создания объектов:

Пример

Создайте объект с именем p1 и выведите значение x:

p1 = MyClass()
print(p1.x)
Попробуйте сами »

Функция __init__()

Приведенные выше примеры представляют собой классы и объекты в их простейшей форме и не очень полезны в реальных приложениях.

Чтобы понять значение классов, мы должны понять встроенную функцию __init__().

Все классы имеют функцию __init__(), которая всегда выполняется при инициализации класса.

Используйте функцию __init__() для присвоения значений свойствам объекта или других операций, которые необходимо выполнить при создании объекта:

Пример

Создайте класс с именем Person, используйте функцию __init__() для присвоения значений имени и возрасту:

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

p1 = Person("Андрей", 52)

print(p1.name)
print(p1.age)
Попробуйте сами »

Примечание: Функция __init__() вызывается автоматически каждый раз, когда класс используется для создания нового объекта.



Методы объекта

Объекты также могут содержать методы. Методы в объектах — это функции, принадлежащие объекту.

Создадим метод в классе Person:

Пример

Вставьте функцию, которая печатает приветствие, и выполните ее для объекта p1:

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

  def myfunc(self):
    print("Привет, меня зовут " + self.name)

p1 = Person("Андрей", 52)
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("Андрей", 52)
p1.myfunc()
Попробуйте сами »

Изменить свойства объекта

Вы можете изменять свойства объектов следующим образом:

Пример

Установите возраст p1 на 40:

p1.age = 40
Попробуйте сами »

Удалить свойства объекта

Вы можете удалить свойства объектов с помощью ключевого слова del

Пример

Удалите свойство age из объекта p1:

del p1.age
Попробуйте сами »

Удалить объекты

Вы можете удалять объекты с помощью ключевого слова del

Пример

Удалите объект p1:

del p1
Попробуйте сами »

Заявление о пропуске

Определения класса не могут быть пустыми, но если по какой-то причине у вас есть определение class без содержимого, добавьте оператор pass чтобы избежать ошибки.

Пример

class Person:
  pass
Попробуйте сами »

Проверьте себя с помощью упражнений

Упражнение:

Создайте класс с именем MyClass:

 MyClass:
  x = 5