- 算术运算符
+: 两对象相加,如果相加的两个对象为数字,结果为两数相加之和,如果两对象类型为字符串,结果为字符串拼接。如果相加两对象类型不一致,一个为数字,一个为字符串,需先进行类型转换,否则报错
a="1"
b=2
c=a+str(b)
#c=12
c=int(a)+b
#c=3
-:一个数减去另一个数
* :两数相乘,如果一个对象为字符串类型,则重复该字符串n遍
a='a'
b=10
print(b*a)
#aaaaaaaaaa
/:两数相除
%: 取模,返回除法商的余数
a=10
b=3
print(a%b)
#1
//: 取整除,返回商的整数部分
a=10
b=3
print(a//b)
#3
**: 幂运算
- 比较运算符
1. ==: 比较两对象是否相等
!=:比较两对象是否不等
>: 比较x是否大于y
<:比较x是否小于y
>=:大于或等于
<=:小于或等于
- 赋值运算符
=:简单赋值
+=: 加法赋值,b+=a等效于 b=b+a
-=:减法赋值,c-=a等效于c=c-a
*=:乘法运算符
/=:除法运算符
%=:取模运算符
**=:幂赋值运算符
//=:取整除赋值运算符
*python中没有自增自减 *
a++, b- -- 逻辑运算符
1. and:与,x和y同时成立
or: 或,x或y任一满足时成立
not:非,不满足条件是成立
- 位运算符
bin 函数,将十进制转换为二进制
& 位与运算::参与运算的两个值,对应的位上都位1,则结果为1,否则结果为0 - 2 的二进制为 0b10,3的二进制为0b11,&位与运算后,二进制结果为0b10,输出十进制结果2
3 的二进制为 0b11,5的二进制位0b101,3的二进制补充为0b011参与 &位与运算,二进制结果0b001,输出十进制结果1
| 位或运算:参与运算的两个值,只要对应的位上有一个值是1,运算结果为1 - 2 和 3 的位或运算二进制结果是 0b11,输出十进制结果3
3 和 5 的位或运算二进制结果是0b111,输出十进制结果7
^ 位异运算:当参与运算两数对应位的相异时,结果为1 - 3 的二进制 0b11,5的二进制0b101,位异运算后二进制结果0b110,输出十进制结果6
~ 位取反运算:对参与运算的各二进制位的数字进行取反 - 关于位运算中的原码,反码,补码的理解:
<< >> 左移和右移位运算:就是将参与运算的数的所有二进制码往左或往右移动指定位数 - 2 的二进制为0b10,左移两位得到0b1000,即十进制8
- 成员运算符 in / not in
检测实例中是否包含一系列的成员,包括字符串,列表或者元组 - 身份运算符 is / is not
比较两个对象是否相等,相当与Java中的equals方法 - 声明一个变量a,赋予一个数值列表
将数值列表赋值给另一个变量b,与Java相似,变量a和b都同时指向同一列表对象,用id打印a和b得到相同内存地址,因此a is b 结果为 True
再声明一个变量c,将a的列表元素通过拷贝的方式赋值给c,可见id(c) 得到一个新的内存地址,因此a is c结果为False - is 和 == 的区别,类似与Java中的equals和 ==
is 是比较两个对象是否相同
== 是比较两个对象的值是否相同