“if False:from typing import Type”是什么意思?

2024-10-04 01:26:19 发布

您现在位置:Python中文网/ 问答频道 /正文

在复习pytest src code时,我发现了那个奇怪的说法,有人能解释一下吗?你知道吗

if False:  # TYPE_CHECKING
    from typing import Type

实际上,我现在正在查看PEP 526,我认为这可能与注释有某种联系,但不确定如何联系。有没有可能有人对False进行注释,使其计算为True?你知道吗

在快速查看typingsrc之后,我发现:

# Constant that's True when type checking, but False here.
TYPE_CHECKING = False

所以从我目前收集的信息来看,@chepner是对的。在运行类型检查时,此语句的计算结果为True,然后可能需要实际导入。尽管在我看来这仍然很奇怪(C中的#if DBG更清晰)


Tags: fromimportsrcfalsetruetypingifpytest