Урок 66 — Справочник: Основы ООП

📁 Блок: Python Fundamentals / ООП ⏱️ Время изучения: ~20 мин 🎯 Сложность: Средняя
#class #pass #def #print #return

⚡ Кратко

Шпаргалка по синтаксису классов, __init__, self и работе с объектами.

🔖 Создание класса

class ClassName:
    pass

Ключевое слово class + имя в CamelCase. Тело пока пустое — используем pass.

🔖 Метод __init__

class Book:
    def __init__(self, title: str, author: str) -> None:
        self.title = title
        self.author = author
  • Первый параметр — self.
  • Остальные параметры — данные для инициализации.
  • Через self.<имя> создаются поля объекта.

🔖 Создание объекта

class Book:
    def __init__(self, title: str, author: str) -> None:
        self.title = title
        self.author = author


book = Book("1984", "George Orwell")
print(book.title, book.author)

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

🔖 Доступ и изменение полей

class Book:
    def __init__(self, title: str, author: str) -> None:
        self.title = title
        self.author = author


book = Book("1984", "George Orwell")
print(book.title)           # чтение
book.title = "Animal Farm"  # изменение
print(book.title)

🔖 Определение метода

class Book:
    def __init__(self, title: str, author: str) -> None:
        self.title = title
        self.author = author

    def get_description(self) -> str:
        return f"{self.title} — {self.author}"

    def show_info(self) -> None:
        print(self.get_description())

🔖 Вызов метода

class Book:
    def __init__(self, title: str, author: str) -> None:
        self.title = title
        self.author = author

    def show_info(self) -> None:
        print(f"{self.title} — {self.author}")


book = Book("1984", "George Orwell")
book.show_info()

Python неявно передаёт объект слева от точки в параметр self.

🔖 Термины

ТерминЗначение
КлассШаблон, по которому создаются объекты
ОбъектКонкретный экземпляр класса
ПолеПеременная, хранящая состояние объекта
МетодФункция внутри класса
АтрибутВсё, что доступно через точку у объекта
selfСсылка на текущий объект
__init__Инициализатор состояния объекта
__new__Конструктор, создающий объект (редко переопределяется)

Проверить по документации: аннотации типов и стрелочные подсказки возвращаемых значений выходят за рамки исходного материала урока. Они необязательны, но помогают IDE и статическим анализаторам.