用法:
typing.TYPE_CHECKING
第 3 方静态类型检查器假定为
True
的特殊常量。它在运行时是False
。用法:if TYPE_CHECKING: import expensive_mod def fun(arg: 'expensive_mod.SomeType') -> None: local_var: expensive_mod.AnotherType = other_fun()
第一个类型注释必须用引号引起来,使其成为“forward reference”,以对解释器运行时隐藏
expensive_mod
引用。不评估局部变量的类型注释,因此第二个注释不需要用引号引起来。注意
如果
from __future__ import annotations
在 Python 3.7 或更高版本中使用,注释不会在函数定义时进行评估。相反,它们作为字符串存储在__annotations__
, 这使得不需要在注释周围使用引号。 (看 PEP 563)。版本 3.5.2 中的新函数。
相关用法
- Python typing.TypedDict.__optional_keys__用法及代码示例
- Python typing.TypedDict.__total__用法及代码示例
- Python typing.TypeVar用法及代码示例
- Python typing.TypedDict用法及代码示例
- Python typing.TypeGuard用法及代码示例
- Python typing.Type用法及代码示例
- Python typing.TypeAlias用法及代码示例
- Python typing.get_type_hints用法及代码示例
- Python typing.Concatenate用法及代码示例
- Python typing.Optional用法及代码示例
- Python typing.Final用法及代码示例
- Python typing.Protocol用法及代码示例
- Python typing.NoReturn用法及代码示例
- Python typing.is_typeddict用法及代码示例
- Python typing.AsyncGenerator用法及代码示例
- Python typing.final用法及代码示例
- Python typing.ClassVar用法及代码示例
- Python typing.ParamSpec用法及代码示例
- Python typing.Literal用法及代码示例
- Python typing.overload用法及代码示例
注:本文由纯净天空筛选整理自python.org大神的英文原创作品 typing.TYPE_CHECKING。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。