Python运算符系列之二 --- 位运算符、成员运算符、身份运算符
5、位运算符
将数字转换为二进制数值后再进行运算。包括: 按位与&、按位或|、按位异或^、按位取反~、按位左移<<、按位右移>>。
(1) 按位与&,相应位置都为1则记为1,否则记为0;
(2)按位或|,相应位置有一方为1则记为1,都为0则记为0;
(3)按位异或^,相应位置不相同则记为1,相同记为0;
(4)按位取反~,原位置为1则记为0,为0则记为1;
(5)按位左移<<,数值的二进制值整体左移若干位,左边高位移除丢弃,右边地位缺失补零;
(6)按位右移>>,数值的二进制值整体右移若干位,左边缺失补零。
6、成员运算符
判断一个元素是否在某一个序列中。比如判断一个字符是否属于某个字符串,判断某一个对象是否在某个列表中等等。
“in”.意思是,如果在指定的序列中找到了,那么结果是True,如果没有找到,那么结果是False.
成员操作符的使用语法是:
obj [not] in sequence
这个操作符返回值是True或者False。obj可以是int、float、str, int与float不区分。sequence并非一定【】形式。
7、身份运算符
身份运算符是用来比较2个对象是否是同一个对象,而之前比较运算符中的 == 则是用来比较2个对象的值是否相等。Python中的变量有3个属性:name、id、value。name可以理解为变量名,id可以联合内存地址来理解,value就是变量的值。
身份比较的语法是:obj1 is [not] obj2
is 运算符则是通过这个id来进行判断的,id一样就返回true,否则返回false。
注意:(1)比较的是id,不是value也不是name。可以使用id(a)来查看a的id。(2)Python对小的整数做了处理,还有字符串的情况也是一样的,使用is都会返回相等。Python缓存了-5以上的所有整数。此范围的整数值相等时,默认id相同。
8、运算符优先级