Задание 1. Утверждения об атрибутах класса
Условие: укажите верные утверждения о полях класса.
- a. Поле класса общее для всех объектов.
- b. Поле класса создаётся внутри метода
__init__(). - c. Изменение поля через объект всегда меняет поле класса.
- d. Поле класса можно прочитать через объект.
Что должно получиться: правильный набор букв.
Задание 2. Утверждения о @classmethod
Условие: укажите верные утверждения о @classmethod.
- a. Метод
@classmethodполучает первым аргументомself. - b. Метод
@classmethodможет создавать объект класса. - c. Метод
@classmethodимеет доступ к атрибутам конкретного объекта. - d. Метод
@classmethodвызывается только через класс, а не через объект. - e. Метод
@classmethodимеет доступ к классу.
Что должно получиться: правильный набор букв.
Задание 3. Найдите ошибку
Условие: найдите ошибку в коде.
class Person:
@staticmethod
def greet(self):
print("Hello!")
Что должно получиться: краткое объяснение, почему код некорректен, и исправленный вариант.
Задание 4. Расстояние между городами
Условие: создайте класс City, представляющий город с координатами.
- У каждого города есть поля
name,latitude,longitude. - Добавьте строковое представление объекта.
- Добавьте метод
distance(city1, city2), который возвращает кортеж(latitude, longitude)между двумя городами. - Проверьте расстояние между двумя городами.
Пример вывода:
City: Berlin (52.52, 13.4)
City: Paris (48.85, 2.35)
Distance: (3.67, 11.05)
Задание 5. Создание объекта из строки
Условие: доработайте класс City.
- Добавьте метод
from_string(data), который создаёт объект из строки вида"Rome:41.89,12.51". - Проверьте создание нового объекта через этот метод и выведите его.
Пример вывода:
City: Rome (41.89, 12.51)