Задание 1. Результат вызова унаследованного метода
Условие: что произойдёт при выполнении кода?
class Employee:
def work(self) -> None:
print("Employee is working")
class Manager(Employee):
pass
person = Manager()
person.work()
- a. Возникнет ошибка, так как Manager не имеет метода
work(). - b. Будет напечатано:
Employee is working. - c. Будет напечатано:
None. - d. Метод
work()выполнится, но ничего не выведет.
Что должно получиться: верный вариант ответа.
Задание 2. Преимущества наследования
Условие: укажите, что относится к преимуществам наследования.
- a. Повышение безопасности данных.
- b. Возможность писать меньше кода.
- c. Возможность скрыть поля от внешнего доступа.
- d. Возможность переиспользовать логику.
Что должно получиться: верные варианты ответа.
Задание 3. Найдите ошибку
Условие: найдите ошибку в коде.
class Employee:
def __init__(self, name: str) -> None:
self.name = name
class Programmer(Employee):
def __init__(self, name: str, language: str) -> None:
super(name).__init__()
self.language = language
Что должно получиться: краткое объяснение ошибки и исправленный вариант.
Задание 4. Результат issubclass
Условие: что вернёт функция issubclass() и почему?
class Book:
pass
b = Book()
print(issubclass(b, object))
Что должно получиться: объяснение результата.
Задание 5. Назначение isinstance
Условие: для чего используется функция isinstance?
- a. Проверяет, является ли объект экземпляром заданного класса или его наследников.
- b. Проверяет, что класс унаследован от
object. - c. Проверяет тип переменной только для встроенных типов.
Что должно получиться: верный вариант ответа.
Задание 6. Класс Employee
Условие: создайте класс Employee, представляющий сотрудника.
- У каждого объекта должно быть поле
name. - Метод
work()выводит строку:<имя> is working.... - Проверьте работу класса, создав сотрудника и вызвав метод
work().
Пример вывода:
Alice is working...
Задание 7. Класс Developer
Условие: создайте класс Developer, который расширяет Employee.
- Добавьте дополнительное поле
language. - Переопределите метод
work(), чтобы он включал сообщение из родительского метода и добавлял строку:<имя> writes <язык> code. - Проверьте работу, создав объект
Developerи вызвав методwork().
Пример вывода:
Bob is working...
Bob writes Python code.