小编ama*_*901的帖子

“typed=False”是什么意思?

我正在查看(大概)名为“typing.py”的内置模块,我试图了解那里发生了什么。我专门查看下面的代码,在那里我们看到一个名为“typed=False”的输入参数。那有什么意思?

据我了解,“func=None”似乎意味着“输入中不允许使用任何函数”(如果我错了,请纠正我),其中“func”指的是对象类型的“函数”(大概是大多数程序员熟悉,因为它是一个基本概念)。但是“typed=False”呢?

def _tp_cache(func=None, /, *, typed=False):
    """Internal wrapper caching __getitem__ of generic types with a fallback to
    original function for non-hashable arguments.
    """
    def decorator(func):
        cached = functools.lru_cache(typed=typed)(func)
        _cleanups.append(cached.cache_clear)

        @functools.wraps(func)
        def inner(*args, **kwds):
            try:
                return cached(*args, **kwds)
            except TypeError:
                pass  # All real errors (not unhashable args) are raised below.
            return func(*args, **kwds)
        return inner

    if func is not None:
        return decorator(func)

    return decorator
Run Code Online (Sandbox Code Playgroud)

python

0
推荐指数
1
解决办法
46
查看次数

标签 统计

python ×1