9.1.4引数を受け取るデコレーター
教科書通りに書くと
>>> #引数を受け取るデコレーター
>>> def log_func(details=True):
...    #修飾すべき関数を受け取る
...    def outer(func):
...       #本来の関数に渡すべき引数を受け取る
...       def inner(*args, **keywds):
...          print('--------------')
...          print(f'Name: {func.__name__}')
...          if details:
...              print(f'Args: {args}')
...              print(f'Keywds: {keywds}')
...          print('-------------')
...          return func(*args, **keywds)
...       return inner
...    return outer
...
>>> @log_func(details=False)
... def hoge(x, y, m='bar', n='piyo'):
...    print(f'hoge: {x}-{y}/{m}-{n}')
...
>>> hoge(15, 37, m='ほげ', n='ぴよ')
--------------
Name: hoge
-------------
hoge: 15-37/ほげ-ぴよ
>>>
となるのですが、教科書の求められている答えとは違うものになります。

チャットGPT4による修正だと
>>> def log_func(details=True):
...     def outer(func):
...         def inner(*args, **keywds):
...             print('--------------')
...             print(f'Name: {func.__name__}')
...             print(f'Args: {args}')   # ifブロックから出しました。
...             print(f'Keywds: {keywds}')   # ifブロックから出しました。
...             print('-------------')
...             return func(*args, **keywds)
...         return inner
...     return outer
...
>>> @log_func(details=False)
... def hoge(x, y, m='bar', n='piyo'):
...     print(f'hoge: {x}-{y}/{m}-{n}')
...
>>> hoge(15, 37, m='ほげ', n='ぴよ')
--------------
Name: hoge
Args: (15, 37)
Keywds: {'m': 'ほげ', 'n': 'ぴよ'}
-------------
hoge: 15-37/ほげ-ぴよ

>>>修正した方が近づくのですがやはり少し違うみたいです。

問題は答えを求めるために修正する力が必要なのか、求められているコードにより解決をしていくのか

どちらを優先すべきかがわかっていないことです。