运算符
- Python中的运算符包括:
- 运算符的优先级(由低到高)
类别 运算符 逻辑运算符 or and not 成员运算符 in,not in 身份运算符 is,is not 赋值运算符 =,%=,/=,//=,-=,+=,*=,**= 等于运算符 !=,== 比较运算符 <,<=,>,>= 按位或 \ 按位异或 ^ 按位与 & 移位 <<,>> 加法与减法 +,- 乘法、除法、整除、取余 *,/,//,% 正负号 +x,-x 按位翻转 ~x 指数 **
赋值运算符
- 执行顺序:从右至左;
- '='等于:
- 等号前是变量名,后是变量值;
- '='等于:
- 支持链式赋值:
- 举例:
a=b=c=20
- 举例:
- 支持参数赋值
a=100- '+='加等于;
- ‘a += 50’相当于’a = a + 50’,结果为150;
- 自加操作;
- '-='减等于:
- ‘a -= 50’相当于’a = a - 50’,结果为50;
- 自减操作;
- '*='乘等于;
- ‘a *= 50’相当于’a = a * 50’,结果为5000;
- 自乘操作;
- '/='除等于;
- ‘a /= 50’相当于’a = a / 50’,结果为2;
- 自除操作;
- '%='求余等于;
- '//='整除等于;
- '**='求幂等于;
- '+='加等于;
- 支持解包赋值:
- 举例:
a,b,c=1,2,3
- 举例:
算数运算符
- 标准算术运算符:
- '+'加法;
- '-'减法;
- *'乘法;
- 除法:
- '/'实数除法:
运算 结果 3 / 2 1.5 - '//'整数除法(向下取整):
运算 结果 3 // 2 1 3.0 // 2 1.0 - 注意,除数与被除数为一正一负时也向下取整;
- '/'实数除法:
- 取余运算符:
'%'求余数:运算 结果 17 % 6 5 - 注意,除数与被除数为一正一负时结果根据公式计算:
- 余数=被除数-除数*商;
- 注意,除数与被除数为一正一负时结果根据公式计算:
- 求幂运算符:
'**'求幂运算:运算 结果 3 ** 2 9
比较运算符
- 返回结果为判断结果“true”或者“false”,即不等式是否成立;
- 对数字关系的比较:
- '<'小于;
- '>'大于;
- '<='小于等于;
- '>='大于等于;
- '!='不等于;
- 对对象的value的比较:
- ‘==’:
运算 结果 3 == 3 true 3.0 == 3 true
- ‘==’:
- 对对象的id的比较:
- 又称:身份运算符;
- “is"与"is not”;
- 举例:
list_1=[1,2,3,4] list_2=[1,2,3,4] print(list_1==list_2)//输出结果为True print(list_1 is list_2)//输出结果为False
布尔运算符
- 逻辑运算符:
- ‘and’,逻辑与:
- 两个条件全为真时,结果为真;
- 两个条件有一个为假时,结果为假;
- ‘or’,逻辑或:
- 两个条件中有一个为真时,结果为真;
- 两个条件全为假时,结果为假;
- ‘not’,逻辑非:
- 将判断结果取反。
- ‘and’,逻辑与:
- 成员运算符:
- “in"与"not in”;
- 举例:
a = 10 list = [1, 2, 3, 4, 5 ] if ( a in list ): print ("变量 a 在给定的列表中 list 中") else: print ("变量 a 不在给定的列表中 list 中")
位运算符
- 将数字看作二进制来进行计算。
- “&”,按位与运算符:
- 参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0;
- “|”,按位或运算符:
- 只要对应的二个二进位有一个为1时,结果位就为1;
- “^”,按位异或运算符:
- 当两对应的二进位相异时,结果为1;
- “~”,按位取反运算符:
- 对数据的每个二进制位取反,即把1变为0,把0变为1;
- “<<”,左移动运算符:
- 运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0;
- “>>”,右移动运算符:
- 把">>“左边的运算数的各二进位全部右移若干位,”>>"右边的数指定移动的位数,低位丢弃,高位补0;
- 举例:
a = 0011 1100 //a为60 b = 0000 1101 //b为13 a&b = 0000 1100 //输出结果为12 a|b = 0011 1101 //输出结果为61 a^b = 0011 0001 //输出结果为49 ~a = 1100 0011 //输出结果为-61 a << 2 = 1111 0000 //输出结果为240 a >> 2 = 0000 1111 //输出结果为15