我知道 Python 支持面向对象的结构,它使用点表示法。但是,我对下面的代码感到困惑,其中点符号出现在没有定义类的函数定义中。那是在 Python 中定义为函数属性 [我猜] 的某些特性吗?
def count(f):
def counted(*args):
counted.call_count += 1
return f(*args)
counted.call_count = 0
return counted
第二个问题:是否有替代方法可以使用 nonlocal 语句而不是点表示法来重写上面的代码来记录 call_count?