Python有两个运算符,在其他语言中可能没有见过。一个成员运算符,一个是身份运算符。
一.成员运算符
1
首先看“in”.意思是,如果在指定的序列中找到了,那么结果是True,如果没有找到,那么结果是False.
2
看如下代码,我们创建了一个L列表,然后创建了一个变量为3.然后,a是否在L中。
3
结果如下,3确实在L中,所以返回True.
4
我们把a的值设置为20,在运行一下,返回的值就是False。
5
再看另一个,not in。和in是相反的,如果在指定的序列中没有找到值返回True,找到了返回False.
6
如下图所示,将in改成not in。返回值就是True了。
END
二.身份运算符
1
身份运算符用于比较2个对象的存储单元。包括:is ,not is.我们先说is
2
is用于判断2个标识符的引用是否一样。如下图所示,a和b的引用是一样的,有点类似于ID是否一样。
3
所以,执行的结果是True,ID也都是一样的
4
现在,将代码改成如下模式
5
可以发现,返回的是False,ID值也不一样了。
6
这是因为Python和其他语言的处理方式可能不一样。比如C语言,如果创建一个变量a,那么a本身是指向一个内存空间的。如果我执行了a=a+1,那么a执行的内存空间里的值会变化,然后将这个地址再赋值给a。
7
但Python不同,对Python来说,数值和字符串是不可变的对象。如果对这个对象进行+1操作,那么结果就是会得到一个新的对象。
如下图所示,a的id值发生了变化。
END
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。
举报作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。
展开阅读全部