运算符 | 描述 | 实例 |
---|---|---|
+ | 加 | 两个对象相加 a + b 输出结果 30 |
- | 减 | 得到负数或是一个数减去另一个数 a - b 输出结果 -10 |
* | 乘 | 两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 200 |
/ | 除 | b / a 输出结果 2 |
// | 取整除 | 返回商的整数部分 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0 |
% | 取余 | 返回除法的余数 b % a 输出结果 0 |
** | 指数 | a**b 为10的20次方, 输出结果 100000000000000000000 |
() | 小括号 | 提高运算优先级,比如: (1+2) * 3 |
注意:混合运算时,优先级顺序为: **
高于 * / % //
高于 + -
,为了避免歧义,建议使用 () 来处理运算符优先级。并且,不同类型的数字在进行混合运算时,整数将会转换成浮点数进行运算。
1、如果是两个字符串做加法运算,会直接把这两个字符串拼接成一个字符串。
2、如果是数字和字符串做加法运算,会直接报错。
3、如果是数字和字符串做乘法运算,会将这个字符串重复多次。
str1 = 'good' result = str1*5 print(result) #结果:goodgoodgoodgoodgood
运算符 | 描述 | 实例 |
---|---|---|
= | 赋值运算符 | 把 = 号右边的结果 赋给 左边的变量,如 num = 1 + 2 * 3,结果num的值为7 |
+= | 加法赋值运算符 | 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 |
# 多个变量赋值(使用逗号分隔) num1, f1, str1 = 10, 2.99, "good" print(num1) print(f1) print(str1) # 语法错误,变量的个数超过值得个数,赋值失败 num1,num2,num3,num4 = 1,2,3 # 示例:*=,运算时,符号右侧的表达式先计算出结果,再与左边变量的值运算 a = 10 a *= 1 + 1 # 相当于执行 a = a * (1+1) print(a) #结果:20
运算符 | 描述 | 实例 |
---|---|---|
== | 等于 - 比较对象是否相等 | (a == b) 返回 False. |
!= | 不等于 - 比较两个对象是否不相等 | (a != b) 返回 true. |
<> | 不等于 - 比较两个对象是否不相等 | (a <> b) 返回 true。这个运算符类似 != 。 |
> | 大于 - 返回x是否大于y | (a > b) 返回 False。 |
< | 小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。 | (a < b) 返回 true。 |
>= | 大于等于 - 返回x是否大于等于y。 | (a >= b) 返回 False。 |
<= | 小于等于 - 返回x是否小于等于y。 | (a <= b) 返回 true。 |
*数字和字符串做==
运算结果是false,除了 ==
以外的逻辑运算时,会直接报错。如果是两个字符串进行比较,会将每个字符都转换成对应的编码,然后逐一进行对比。
str1='a' str2='ABC' # 将字符转换成为对应的编码 a对应的编码是97,A对应的编码是65 print(str1 > str2) #结果是:True
运算符 | 逻辑表达式 | 描述 | 实例 |
---|---|---|---|
and | x and y | 只要有一个运算数是False,结果就是False; 只有所有的运算数都为True时,结果才是True 做取值运算时,取第一个为False的值,如果所有的值都为True,取最后一个值。 | True and True and False--> 结果为False 1 and 2 and 3-->结果是3 |
or | x or y | 只要有一个运算数是True,结果就是True; 只有所有的运算数都为False时,结果才是False 做取值运算时,取第一个为True的值,如果所有的值都为False,取最后一个值。 | False or False or True --> 结果为True 1 or 0 or 2-->结果是1; |
not | not x | 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 | not(a and b) 返回 False |
# 声明变量a、b a = 45 b = 28 # 使用逻辑运算符and print((a > b) and (b > 10) ) # 即:35>28 and 28>10 ---> True and True --->True print((a > b) and (b > 10) and (a > 20) ) # 即: 35>28 and 28>10 and 45>20 ---> True and True and False --->False print(a and b and 'hello') # a、b、'hello'都是有值的即为True,所以取最后一个值 print(a and b and 'hello' and 0) # 使用逻辑运算符or print((a > 50) or (b < 10) or (a == b)) # 即:False or False or False --> False print((a > 50) or (b > 10) or a < b) # 即:False or True or False --> True # None,0,''的表示 print(0 or None ) print(a or '') print(0 or "" or None) #结果是:True False hello 0 False True None 45 None
运算符 | 描述 |
---|---|
** | 指数 (最高优先级) |
~ + - | 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@) |
* / % // | 乘,除,取模和取整除 |
+ - | 加法减法 |
>> << | 右移,左移运算符 |
& | 位 'AND' |
^ | | 位运算符 |
<= < > >= | 比较运算符 |
<> == != | 等于运算符 |
= %= /= //= -= += *= **= | 赋值运算符 |
is is not | 身份运算符 |
in not in | 成员运算符 |
not>and>or | 逻辑运算符 |