python学习笔记22:基础之运算符

1. 算术运算符

算术运算符通常由左向右结合,即2+3+4的计算顺序为(2+3)+4;

运算符 作用 说明
+ 字符串相加即“合并字符串”,‘a’+‘b’得到‘ab’
- 减、负号
* 乘、str重复 ‘ab’*3得到‘ababab’
/ 4/3和4/3.0结果相同,都是1.3333…
% 取模(余数) 25.5%2.25得到0.75; -25.5%2.25得到1.5
/ 整除 返回商的整数部分;4//3得1,4//3.0得1.0
* 乘方

2. 比较运算符

运算符 作用 说明
== 等于 可用于数、str、list等
!= 不等于
<> 不等于,类似于!=
>、>= 大于、大于等于
<、<= 小于、小于等于

3. 赋值运算符

赋值运算由右向左结合,即a=b=c的处理方式为a=(b=c)

>>> a,b,c=1,2,3
>>> a=b=c #赋值过程:b=c(3),然后a=b,最终a和b都是得到的c的值
>>> print(a,b,c) # a的值不是2,而是3
3 3 3
运算符 作用 说明
= 简单赋值
+= 加等 c+=a 等价于c = c + a
-= 减等
*= 乘等
/= 除等
%= 模等
**= 幂等
//= 整除等

4. 位运算符

运算符 作用 说明
& 按位与 12&13返回12,即1100&1101=1100
| 按位或 12|13返回13,即1100
^ 按位异或 12^13返回1,即1100
~ 按位取反 ~x 类似于–x-1,即~60返回-61,见本表后面详细例子;
<< 左移 高位丢弃,低位补0。 6 << 4返回96,即110<<4得1100000,亦即6*(2**4)
>> 右移 低位丢弃,高位补0。 6>>2返回1,即110>>2得001
>>> bin(60) # 60的二进制数据为0011_1100  
'0b00111100'  
>>>  
>>> ~60  
-61  
#  
# ~60即~0011_1100得1100_0011,  
# python把按位取反的值当补码解释(负数的补码为取反加1),所以返回-61.  
#  
# 注:-61的各码如下:  
# 原码:1011_1101  
# 反码:1100_0010(注,取反码时,符号位不取反)  
# 补码:1100_0011,即60按位取反得的值,所以~60返回-61  

5. 逻辑(布尔)运算符

运算符 作用 说明
and 布尔与 x and y,会短路计算:x为False时,返回x,注意不是x的布尔值;x为True时,返回y,注意不是y的布尔值;
or 布尔或 x or y,会短路计算:x为False时,返回y,注意不是y的布尔值;x为True时,返回x,注意不是x的布尔值;
not 布尔非 x=true; not x; 返回False;
>>> [] and {1:‘a’} # 空数组为假,返回空数组,注意返回的不是x的布尔值False  
[]  
>>> [] or {1:‘a’}# 空数组为假,返回y的值,注意不是y的布尔值;  
{1:‘a’}  
>>> not {1:‘a’} # not会返回布尔值  
False  
>>> not [] # not会返回布尔值  
True  

6. 成员运算符

运算符 作用 说明
in 包含成员 在指定的序列中找到值,返回True
not in 不包含成员
原文地址:https://www.cnblogs.com/gaiqingfeng/p/13254631.html