运算符的简述
运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。示例:1 + 2 = 3 # 1和2被称为操作数,“ + ”称为运算符。
一、算术运算符
算术运算符:用来处理四则运算的符号,主要用于针对数字的处理。
运算符 | 描述 | 备注 |
+ | 加号-两个数字相加;返回对象被累加的新对象。 | |
- | 减号-两个数字相减;返回对象去除重复元素的新对象。 | |
* | 乘号-两个数字相乘;返回对象被重复n次的新对象。 | |
/ | 除号-两个数字相除。 | |
** | 幂-数字的幂运算,某某次方。 | |
% | 取余-两个数字相除,返回商的余数部分。 | |
// | 取整-两个数字相除,返回商的整数部分,丢弃小数部分。 |
二、赋值运算符
赋值运算符:用于对象的赋值,他的优先级别低于其他的运算符,“先运算后赋值”。
运算符 | 描述 | 备注 |
= | 赋值-将符号右边对象赋值给左边对象。 | |
+= | 加法赋值-两数字相加,再赋值。 | |
-= | 减法赋值-两数字相减,再赋值。 | |
*= | 乘法赋值-两数字相乘,再赋值。 | |
/= | 除法赋值-两数字相除,再赋值。 | |
**= | 幂赋值-幂运算,再赋值。 | |
%= | 取余赋值-取余运算,再赋值。 | |
//= | 取整赋值- 取整运算,再赋值。 |
三、关系(比较)运算符
关系运算符:用于比较对象的值的真假。关系运算符的结果值只能是0或1,值为True时,结果值为1,值为False时,结果值为0。
运算符 | 描述 | 备注 |
== | 等于-比较对象的“值”是否相等,返回布尔值。 | “is” 是判断内存地址 |
!= | 不等于-比较对象的值是否不相等,返回布尔值。 | |
< | 小于-比较左对象的值是否小于右对象的值,返回布尔值。 | |
> | 大于-比较左对象的值是否大于右对象的值,返回布尔值。 | |
<= | 小于等于-比较左对象的值是否小于等于右对象的值,返回布尔值。 | |
>= | 大于等于-比较左对象的值是否大于等于右对象的值,返回布尔值。 |
四、逻辑运算符
逻辑运算符:用于逻辑运算。操作类型与返回类型,均为布尔值。
运算符 | 描述 | 备注 |
and | 且-对象均为True时,返回True;反之为False。 | |
or | 或- 对象中有一个为True时,返回True;反之为False。 | |
not | 非- 对象为False时,返回True;反之为False。 |
五、成员运算符
成员运算符:用于一个对象是否包含另一个对象,返回布尔类型。
运算符 | 描述 | 备注 |
in | 在里面-判断元素是否在序列中,返回布尔值。 | |
not in | 不在里面-判断元素是否不在序列中,返回布尔值。 |
六、身份运算符
身份运算符:用于判断两个对象内存地址是否一致,是不是引用自同一对象,返回布尔类型。
运算符 | 描述 | 备注 |
is | 是-判断两个对象是否占用同一个内存地址,即id值相等,返回布尔值。 | |
is not | 不是-判断两个对象是否不是占用同一个内存地址,即id值不相等,返回布尔值。 | |
注意:内置函数id()可以用于获取对象的内存地址。 |
七、位运算符
位运算符:用于将对象进行按照储存的bit操作,将数字转换为二进制进行运算。
运算符 | 描述 | 备注 |
& | 与-参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0。 | |
| | 或- 只要对应的二个二进位有一个为1时,结果位就为1 | |
^ | 按位异或-当两对应的二进位相异时,结果为1。 | |
~ | 按位取反- 对数据的每个二进制位取反,即把1变为0,把0变为1。 | |
<< | 左移动-运算数的各二进位全部左移若干位,由 << 右边的数字指定了移动的位数,高位丢弃,低位补0。 | |
>> | 右移动-把">>"左边的运算数的各二进位全部右移若干位,>> 右边的数字指定了移动的位数。 |
八、代码运算的优先级
从代码规范的角度来说,我们更希望你可以通过小括号()的使用,明显的表示出一个复杂表达式的优先级,以提高代码的可读性。