在Python中何时可以使用“is”检查文本值?

2024-04-16 23:22:59 发布

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

我想检查变量是否为True(不仅仅是它的真实性)

这很容易检查,如下所示:

>>> a = 1
>>> isinstance(a, bool) and a
False

>>> a = True
>>> isinstance(a, bool) and a
True

当然,那完全没问题。但是,在以下代码中可以看到相同的行为:

>>> a = 1
>>> a is True
False

>>> a = True
>>> a is True
True

在我看来,第二个代码片段更具可读性(如果您了解is的工作原理)。在Python3.8中,我在执行第二个代码段时得到一个SyntaxWarning。第二个示例是否适用于所有Python实现?是否可以保证相同值的bool对象以这种方式相同?我相信我在某个地方读到过int对象不能保证这一点。用这样的is检查文本值是否合适


Tags: and对象代码falsetrue示例is代码段