我正在使用 Decorators ,但它返回 none ,为什么?

安吉特·辛格

我已经写了这段代码,但我的输出是 'None' ,为什么不来正确的输出

def decor_func(any_func):
      def wrapper_func(*args , **kwargs):
        if all([type(arg) == int for arg in args]):
              any_func(*args , **kwargs)

  return wrapper_func

@decor_func
def add(*args):
    total = 0
    for i in args:
        total += i

    return total


print(add(1, 2, 5, 6))
施沃巴塞尔

您的包装函数不返回任何内容:

def decor_func(any_func):
    def wrapper_func(*args , **kwargs):
        if all([type(arg) == int for arg in args]):
            return any_func(*args , **kwargs)  # return the result!
    return wrapper_func

不返回隐式返回NoneNone如果任何参数不是 type ,它仍然会返回int因此,有意义地处理这种情况,isinstance用于类型检查,并使用生成器表达式而不是列表推导式将是 3 个进一步的改进:

def decor_func(any_func):
    def wrapper_func(*args):
        if all(isinstance(arg, int) for arg in args):
            return any_func(*args , **kwargs)
        raise TypeError
    return wrapper_func

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

为什么我的递归函数返回None?

来自分类Dev

为什么我班上的p.length()返回None?

来自分类Dev

为什么我的QStandardItemModel itemFromIndex方法返回None?(索引无效)

来自分类Dev

为什么我不能从 Future 返回 None

来自分类Dev

为什么这也返回None

来自分类Dev

为什么“ append('w')”返回None?

来自分类Dev

Python函数返回None。为什么?

来自分类Dev

为什么在Python中寻求返回None?

来自分类Dev

为什么list.append()返回None?

来自分类Dev

为什么Map withDefaultValue返回Option = None

来自分类Dev

为什么len(None)不返回0?

来自分类Dev

为什么MySQL执行时返回None?

来自分类Dev

为什么返回None而不是True或False?

来自分类Dev

为什么“ append('w')”返回None?

来自分类Dev

为什么exc_traceback返回None

来自分类Dev

为什么在进行递归时返回 None ?

来自分类Dev

为什么搜索函数返回 None?

来自分类Dev

为什么有时允许返回None的re.match上允许使用group方法?

来自分类Dev

为什么对列表使用索引会返回“None Type not sub-scriptable error”?

来自分类Dev

简单的python函数返回None,并且我正在使用return语句

来自分类Dev

我想在此查询中单行返回,但它返回两行我的错误是什么?

来自分类Dev

Django-视图account.decorators.wrapper_function没有返回HttpResponse对象。它返回None

来自分类Dev

为什么类实例在初始化后返回None

来自分类Dev

为什么cv2.rectangle返回None而不是图像?

来自分类Dev

为什么pygame.mixer.Sound()。play()返回None?

来自分类Dev

为什么pandas.Dataframe.drop()返回None?

来自分类Dev

Python函数返回None。不太明白为什么

来自分类Dev

为什么pygame.mixer.Sound()。play()返回None?

来自分类Dev

为什么cv2.rectangle返回None而不是图像?

Related 相关文章

  1. 1

    为什么我的递归函数返回None?

  2. 2

    为什么我班上的p.length()返回None?

  3. 3

    为什么我的QStandardItemModel itemFromIndex方法返回None?(索引无效)

  4. 4

    为什么我不能从 Future 返回 None

  5. 5

    为什么这也返回None

  6. 6

    为什么“ append('w')”返回None?

  7. 7

    Python函数返回None。为什么?

  8. 8

    为什么在Python中寻求返回None?

  9. 9

    为什么list.append()返回None?

  10. 10

    为什么Map withDefaultValue返回Option = None

  11. 11

    为什么len(None)不返回0?

  12. 12

    为什么MySQL执行时返回None?

  13. 13

    为什么返回None而不是True或False?

  14. 14

    为什么“ append('w')”返回None?

  15. 15

    为什么exc_traceback返回None

  16. 16

    为什么在进行递归时返回 None ?

  17. 17

    为什么搜索函数返回 None?

  18. 18

    为什么有时允许返回None的re.match上允许使用group方法?

  19. 19

    为什么对列表使用索引会返回“None Type not sub-scriptable error”?

  20. 20

    简单的python函数返回None,并且我正在使用return语句

  21. 21

    我想在此查询中单行返回,但它返回两行我的错误是什么?

  22. 22

    Django-视图account.decorators.wrapper_function没有返回HttpResponse对象。它返回None

  23. 23

    为什么类实例在初始化后返回None

  24. 24

    为什么cv2.rectangle返回None而不是图像?

  25. 25

    为什么pygame.mixer.Sound()。play()返回None?

  26. 26

    为什么pandas.Dataframe.drop()返回None?

  27. 27

    Python函数返回None。不太明白为什么

  28. 28

    为什么pygame.mixer.Sound()。play()返回None?

  29. 29

    为什么cv2.rectangle返回None而不是图像?

热门标签

归档