python 判断常量和None的等值/不等 是用==/!= 还是 is/is not
2023-12-19 01:19:05
is 是检查两个对象是否指向同一块内存空间,而 == 是检查他们的值是否相等?
在一些判断是否相等/不相同的情况下,他们的使用有区别的
以下是 flake8给出的检测提示:
?use ==/!= to compare constant literals (str, bytes, int, float, tuple)
?comparison to None should be 'if cond is None:'
如下例子代码:
a=8
if(a is not 9):
print("a not 9")
会有报错提示:
SyntaxWarning: "is not" with a literal. Did you mean "!="?
? if(a is not 9):
a not 9
程序能够出结果,但是会有警示。if里is not换成!= 报警消失
?对于字符型,数字型、tuple型字面量常量形式的比较,要使用==/!=
对于None的比较,建议使用is/is not
a='ss'
if(a is None):
print("a is None")
if(a is not None):
print("a is not None")
?a is not None
另外对于list 与常量相比值是否相等也是 ==/!=,is/is not 会另外查找id是否也相等
b=[1,2]
if(b==[1,2]):
print("== 1,2元素")
if(b is [1,2]):
print("is 1,2元素")
打印:
== 1,2元素
文章来源:https://blog.csdn.net/yuxuan89814/article/details/135066400
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!