Python 运算符
1. 算数运算符
运算符 | 描述 | 实例 |
---|---|---|
+ | 加 | 1 + 1 输出结果:2 |
- | 减 | 1 - 1 输出结果:0 |
* | 乘 | 2 * 2 输出结果:4 |
/ | 除 | 10 / 2 输出结果:5 |
// | 取整 | 9 // 4 输出结果:2 |
% | 取余 | 9 % 4 输出结果:1 |
** | 指数 | 2**4 输出结果:16 |
() | 小括号 | 优先运算:(1 + 2) * 2 结果:6 |
注意:
混合运算优先级:()
大于**
大于 *
/
//
%
大于+
-
2. 赋值运算符
运算符 | 描述 | 实例 |
---|---|---|
= | 赋值运算符 | a = b 将右侧结果赋值给左侧 |
+= | 加法赋值运算符 | 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
a *= 1 + 2
print(a)
# 结果: 30
# a *= 1 + 2 先算: a *= 1 还是 1 + 2
# 先算:a *= 1 结果是:10 * 1 + 2 等于 12
# 先算:1 + 2 结果是:10 * (1 + 2) 等于 30
3. 比较运算
运算符 | 说明 | 实例 |
---|---|---|
> | 大于运算,如果>左面的值大于右面的值,则返回 True,否则返回 False。 | print("True:", 100 > 99),print("False:", 89 > 100) |
< | 小于运算,如果<左面的值小于右面的值,则返回 True,否则返回 False。 | print("True:", 89 < 100),print("False:", 100 < 99) |
== | 等于运算,如果==两边的值相等,则返回 True,否则返回 False。 | print("True:", 100 == 100),print("False:", 100 == 99) |
>= | 大于等于运算,如果>=左的值大于或者等于右面的值,则返回 True,否则返回 False。 | print("True:", 100 >= 100),print("False:", 100 >= 111) |
<= | 小于等于运算,如果<=左面的值小于或者等于右面的值,则返回 True,否则返回 False。 | print("True:", 100 <= 100),print("False:", 100 <= 99) |
!= | 不等于运算,如果!=两边的值不相等,则返回 True,否则返回 False。 | print("True:", 100 != 10),print("False:", 100 != 100) |
is | 判断两个变量所引用的内存地址是否相同,如果相同则返回 True,否则返回 False。 | a = b = [1,2],c = [1 ,2],print("True:", a is b),print("False:",a is c) |
is not | 判断两个变量所引用的内存地址是否不相同,如果不相同则返回 True,否则返回 False。 | a = b = [1,2],c = [1 ,2],print("True:", a is not c),print("False:",a is not b) |
注意:==
!=
和 is
is not
的区别
# == 和 != 判断的是值是否相等
a = b = 1
c = 1
print ("结果:",a == b ) # a 和 b 的值为 1,所以将结果为True
print ("结果:",a == c ) # a 和 c 的值为 1,所以将结果为True
# is 和 is not 判断的是内存地址是否相同
a1 = b1 = [1,2,3]
c1 = [1,2,3]
print("结果:",a1 is b1 ) # 结果为True,a1 和 b1 赋值的是内存地址,所有结果为True
print("结果:",a1 is c1 ) # a1 和 c1 的内存地址不同,所以结果为False
4. 逻辑运算符
运算符 | 表达式 | 描述 | 实例 |
---|---|---|---|
and | x and y | 布尔“与” :如果x或y为False,则返回False。x和y都为True,则返回True | True and True 返回 True ,False and True 返回 False |
or | x or y | 布尔“或” :如果x为True,返回True,否则返回y值 | True or False 返回True,False or False 返回 False |
not | not x | 布尔“非” :如果x为True则返回False,如果x为False则返回True | not False 返回 True,not True 返回 False |
练习:
a = 18
b = 61
print ("and 返回 True:",True and True)
print ("and 返回 False:",True and False)
print ("or 返回 True:",True or True)
print ("or 返回 True:",True or False)
print ("or 返回 False:",False or False)
print("or 返回 1:",1 or False)
print("or 返回 1:",1 or True)
print("or 返回 True:",True or 2)
print("or 返回 2:",False or 2)
print ("not 返回 False:",not True)
print ("not 返回 True:",not False)