Junior — Senior
69
Декоратор @trace, выводящий сообщение о начале вызова метода
Условие задачи
Создайте декоратор @trace, который при каждом вызове метода любого экземпляра класса Person будет писать в стандартный вывод строку вида: Entering function <имя_метода>
Пример поведения:
- при вызове метода speak() должно появиться сообщение: Entering function speak
- при вызове метода walk() — Entering function walk
class Person:
def __init__(self, person_name):
self.person_name = person_name
self.total_distance = 0
@trace
def speak(self, sentence):
print(f'{self.person_name}: "{sentence}"')
@trace
def walk(self, distance):
self.total_distance += distance
print(f'{self.person_name}: total distance is {self.total_distance} meters')