Классы¶
Класс — шаблон, описывающий правила создания и поведение объекта.
Объект — экземпляр, созданный на основе шаблона.
Поле — используется для хранения значения.
Метод — функция, связанная с классом.
Магический метод — зарезервированные методы, отвечающие за поведение объекта.
Название |
Применение |
|---|---|
|
Инициализация объекта |
|
Преобразование к строке str(obj) |
|
Проверка на равенство |
|
Оператор доступа к элементам
some_dict[“item”]
|
Пример:
class Person: # Объявление класса
def __init__(self, name, age): # Метод инициализации или по другому конструктор
self.age = age # Установка значений полей
self.name = name
def __str__(self):
return f"{self.name} is {self.age} years old"
person = Person('John', 20) # Создание экземпляра
person.name = 'James' # Установка значения поля
print(person)
Здесь __init__ определяет как будет создаваться новый объект и какие
параметры будет принимать при создании.
__str__ определяет как экземпляр будет печататься на экране с помощью
функции print и преобразовываться к строке с помощью str.
Задачи¶
Создать класс, описывающий человека. Должны быть поля для имени, фамилии и возраста. Создать экземпляр и вывести информацию о человеке.
Доработать предыдущий класс, чтобы вся информация о человеке была доступна при вызове
strнад экземпляром.Добавить метод greet, вызов которого будет выводить в консоль информацию о человеке в формате
"Привет! Меня зовут Петров Василий, мне 12 лет".Добавить поле
grades, в котором будет храниться список оценок. Создать список учеников, заполняя оценки каждого случайными числами.Вывести информацию об учениках в порядке убывания среднего балла. Подсчёт среднего балла вынести в отдельный метод.
Создайте класс
Point, экземпляры которого будут создаваться из координатxиy.Создайте класс прямоугольник —
Rectangle. Метод__init__принимает две точки — левый нижний и правый верхний угол. Каждая точка представлена экземпляром классаPoint. Реализуйте методы вычисления площади и периметра прямоугольника.Добавьте в класс
Rectangleметодcontains. Метод принимает точку и возвращаетTrue, если точка находится внутри прямоугольника иFalseв противном случае.