“A不是B”对“A是(不是B)”

2024-04-19 07:05:32 发布

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

我有点害怕“is not”操作符,并且当“is(not X)”的意思是“is(not X)”时,“is not X”可能会被解释。确实存在一些表达式A和B,以便:

A is not B

不同于

^{pr2}$

是吗?在

附录。 使用此运算符是否被认为是良好的做法?不应该首选not (A is B)?在


Tags: is表达式not运算符pr2
2条回答

是的:

A = 0
B = 1

试试看,你会很害怕的:

^{pr2}$

他们绝对不同。后一种情况首先在布尔上下文中计算not X,然后检查这两个对象是否是相同的对象(要么是True,要么是False)。在

考虑:

False is not []

这个表达式是微不足道的True,因为False和{}是明显不同的对象。1

对比

^{pr2}$

此表达式是False,因为not []True和{}和{}是不同的对象。在

当然,这只是一个例子。如果不显式地使用FalseTrue,因为第二个表达式将始终False,而第一个表达式(几乎)总是True,那么找到示例就更加容易了。。。在

3 is not 0   # True
3 is (not 0)   # False

1注意,^{}是与not in处于同一脉络中的一个单个运算符

相关问题 更多 >