Sobes.tech
Junior — Senior
68

Декоратор @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')