算术运算符
假设变量a=10,变量b=21
运算符 | 描述 | 实例 |
+ | 加—两个对象相加 | a+b输出结果31 |
- | 减—得到负数或是一个数减去另一个数 | a-b输出结果-11 |
* | 乘—两个数相乘或是返回一个被重复若干次的字符串 | a*b输出结果210 |
/ | 除—x除以y | b/a输出结果2.1 |
% | 取模—返回除法的余数 | b%a输出结果1 |
** | 幂—返回x的y次幂 | a**b为10的21次方 |
// | 取整除—向下取接近商的整数 | 9//2=4 -9//2=-5 |
比较运算符
假设变量a为10,变量b为20
运算符 | 描述 |
== | 等于—比较对象是否相等 |
!= | 不等于—比较两个对象是否不相等 |
> | 大于—返回x是否大于y |
< | 小于—返回x是否小于y。 |
>= | 大于等于—返回x是否大于等于y |
<= | 小于等于—返回x是否小于等于y |
所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写
赋值运算符
假设变量a为10,变量b为20
运算符 | 描述 | 实例 |
= | 简单的赋值运算符 | c=a+b 将a+b的运算结果赋值为c |
+= | 加法赋值运算符 | c+=a等效于c=c+a |
-= | 减法赋值运算符 | c-=a等效于c=c-a |
*= | 乘法赋值运算符 | c*=a等效于c=c*a |
/= | 除法赋值运算符 | c/=a等效于c=c/a |
%= | 取模赋值运算符 | c%=a等效于c=c%a |
**= | 幂赋值运算符 | c**a等效于c=c**a |
//= | 取整除赋值运算符 | c//=a等效于c=c//a |
逻辑运算符
假设变量a为10,b为20
位运算符
位运算符是把数字看作二进制来进行计算的,变量a为60,b为13
二进制格式如下
a=0011 1100
b=0000 1101 前面不够用0补齐
a&b = 0000 1100
a|b = 0011 1101
a^b = 0011 0001
~a = 1100 0011
运算符 | 描述 | 实例 |
& | 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0 | (a&b)输出结果12,二进制解释:0000 1100 |
| | 按位或运算符:只要对应的两个二进位有一个为1时,结果位就为1 | (a|b)输出结果61,二进制解释:0011 1101 |
^ | 按位异或运算符:当对应的二进位相异时,结果为1 | (a^b)输出结果49,二进制解释: 0011 0001 |
~ | 按位取反运算符:对数据的每个二进制位取反,即把1变0,把0变为1 | (~a)输出结果-61,二进制解释: 1100 0011 |
成员运算符
运算符 | 描述 | 实例 |
in | 如果在指定序列中找到值返回True,否则,返回False | x在y序列中,如果x在y序列中返回True |
not in | 如果在指定的序列中没有找到值返回True,否则返回False | x不在y序列中,如果x不在序列中返回True |
身份运算符
在创建时都会在内存中开辟一块空间,用于保存它的值,返回一个内存地址,使用变量的话,根据地址找到对应的值
身份运算符用于比较两个对象的存储单元
运算符 | 描述 | 实例 |
is | is是判断两个标识符是不是引用自一个对象 | x is y,类似id(x)==id(y),如果引用的是同一个对象则返回True,否则返回False |
is not | is not是判断两个标识符是不是引用自不同对象 | x is not y,类似id(x)!=id(y),如果引用的不是同一个对象,则返回True,否则返回False |
id()函数用于获取对象内存地址
数字1(小的整型数字)默认存储在同一地址,但字符串“1”每次的地址不相同
运算符优先级
and比or拥有更高优先级