多语言展示
当前在线:274今日阅读:162今日分享:23

Python成员运算符和身份运算符

Python有两个运算符,在其他语言中可能没有见过。一个成员运算符,一个是身份运算符。
一.成员运算符
2

看如下代码,我们创建了一个L列表,然后创建了一个变量为3.然后,a是否在L中。

3

结果如下,3确实在L中,所以返回True.

4

我们把a的值设置为20,在运行一下,返回的值就是False。

5

再看另一个,not in。和in是相反的,如果在指定的序列中没有找到值返回True,找到了返回False.

6

如下图所示,将in改成not in。返回值就是True了。

二.身份运算符
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值发生了变化。

推荐信息