【发布时间】:2018-05-26 12:12:22
【问题描述】:
考虑这段代码sn-p:
my_string = 'asdf'
print(my_string is 'xfje') #R0123
Pylint 在第二行返回推荐 R0123,而我在 error message wiki 上找不到该推荐。不过,this part of the docs 中提到了它:
文字比较 (R0123):
与文字比较 用于将对象与文字进行比较,这通常是您不希望做的,因为您可以与完全不同的文字进行比较。
这个解释对我一点帮助都没有。我知道使用 is 在两个字符串对象之间进行比较可能会导致与预期不同的结果,但是对于对象与文字的比较,它与 == 相同。而当使用==时,错误消失了。
为什么我不应该在这里使用is?
【问题讨论】:
-
也许你会发现这个 SO answer 更有帮助。
-
"但是对于对象与文字的比较,它与
==相同" - 你到底是从哪里得到这个想法的? -
@user2357112 我在提示符中尝试了它,它按预期工作。但是,是的,我没有阅读任何文档。
标签: python python-3.x equality pylint