【问题标题】:Decorators: 'NoneType' object is not callable装饰器:“NoneType”对象不可调用
【发布时间】:2021-03-15 20:11:49
【问题描述】:

除了最后一行之外,我运行了以下 Python 代码:'display()':

def decorator_function(original_function):
   def wrapper_function():
      print('message')
      return original_function()
   return wrapper_function()

@decorator_function
def display():
   print('Display function ran')

display()

令人惊讶的是,它显示了正确的消息,就好像我会运行命令'display()',但是当我也尝试运行此命令时,显示以下错误:'line 11, in 展示() TypeError: 'NoneType' 对象不可调用

这可能是什么原因造成的?谢谢!

【问题讨论】:

    标签: python compiler-errors decorator


    【解决方案1】:

    尝试删除返回中的括号:

    def decorator_function(original_function):
        def wrapper_function():
            print('message')
            return original_function
        return wrapper_function
    
    @decorator_function
    def display():
        print('Display function ran')
    
    display()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-03
      • 2020-08-19
      • 2013-01-10
      • 2021-11-22
      • 2019-03-17
      • 2020-09-22
      • 1970-01-01
      • 2019-11-18
      相关资源
      最近更新 更多