文章目录
- 算数运算符
- 赋值运算
- 关系运算符
- 逻辑运算符
- 非布尔值的与或非运算
- 条件运算符(也叫三元运算符)
- 运算符的优先级
算数运算符
+ 加法运算符(如果两个字符串之间进行加法运算,则会进行拼串操作)
- 减法运算符
* 乘法运算符(如果将字符串和数字相乘,则会对字符串进行复制操作,将字符串复制指定次数)
/ 除法运算符,运算结果总会返回一个浮点类型
// 整除,只会保留计算后的整数位,总会返回一个整型(注意:一个浮点数整除一个整数时,返回一个.0的数,也是取整了,只是小数点后是零)
** 幂运算,求一个值的几次幂
% 取模,求两个数相除的余数
赋值运算
= 可以将等号右侧的值赋值给等号左侧的变量
+= a += 5 相当于 a = a + 5
-= a -= 5 相当于 a = a - 5
*= a *= 5 相当于 a = a * 5
**= a **= 5 相当于a = a ** 5
/= a /= 5 相当于a = a / 5
//= a //= 5 相当于a = a // 5
%= a %= 5 相当于a = a % 5
关系运算符
关系运算符用来比较两个值之间的关系,总会返回一个布尔值。
如果关系成立,返回True,否则返回False
> 比较左侧值是否大于右侧值
>= 比较左侧的值是否大于或等于右侧的值
< 比较左侧值是否小于右侧的值
<= 比较左侧值是否小于或等于右侧的值
== 比较两个对象的值是否相等
!= 比较两个对象的值是否不相等
注意 == 和 != 比较的是对象的值,而不是id
is 比较两个对象是否是同一个对象,比较的是对象的id
is not 比较两个对象是否不是同一个对象,比较的是对象的id
在Python中可以对两个字符串进行大小(等于)或小于(等于)的运算。
当对字符串进行比较时,实际上比较的是字符串的Unicode编码。
比较两个字符串的Unicode编码时,是逐位比较的(前一位如果能比较出大小来,就不再比较双方的下一位了)。
注意:如果不希望比较两个字符串的Unicode编码,则需要将其转换为数字然后进行比较。
result = 10 > 20
print(result)
result = '1' > '2'
print(result)
result = 'db' > 'bc'
print(result)
result = 1 > False
print(result)
逻辑运算符
逻辑运算符主要用来做一些逻辑判断
not 逻辑非
not 可以对符号右侧的值进行非运算
对于布尔值, 非运算会对其进行取反操作,True变False,False变True。
对于非布尔值,非运算会先将其转换为布尔值,然后再取反。
and 逻辑与
and可以对符号两侧的值进行与运算
只有在符号两侧的值都为True时,才会返回True,只要有一个False就返回False。
与运算是找Flase的
Python中的与运算是短路的与,如果第一个值为False,则不再看第二个值
or 逻辑非
or 可以对符号两侧的值进行或运算。
或运算两个值中只要有一个True,就会返回True。
或运算是找True的。
Python中的或运算是短路的或,如果第一个值为True,则不再看第二个值。
result = True and print("你猜我出来来吗?") #第一个值为True,会看第二个值,所以print()会执行
result = False and print("你猜我出来来吗?") #第一个值为False,不会看第二个值,所以print()不会被执行
result = True or print("你猜我出来来吗?") #第一个值为True,不会看第二个值,所以print()不会被执行
result = False or print("你猜我出来来吗?") #第一个值为False,会看第二个值,所以print()会执行
逻辑运算符也可以连着使用
result = 1 < 2 < 3 # 等价于 2 > 1 and 2 < 3
非布尔值的与或非运算
当我们对非布尔值进行与或运算时,Python会将其当做布尔值运算,最终会返回原值
与运算的规则
与运算是找Flase的,如果第一个值是False, 则不看第二个值
如果第一个值是False,则直接返回第一个值,否则返回第二个值
或运算的规则
或运算是找True的 如果第一个值是True,则不看第二个值
如果第一个值是True,则直接返回第一个值,否则返回第二个值
# True and True
result = 1 and 2 # 2
# True and False
result = 1 and 0 # 0
# False and True
result = 0 and 1 # 0
# False and False
result = 0 and None # 0
# True or True
result = 1 or 2 # 1
# True or False
result = 1 or 0 # 1
# False or True
result = 0 or 1 # 1
# False or False
result = 0 or None # None
条件运算符(也叫三元运算符)
语法: 语句1 if 条件表达式 else 语句2
执行流程:
条件运算符在执行时,会先对条件表达式进行求值判断
如果判断结果为True,则执行语句1,并返回执行结果
如果判断结果为False,则执行语句2,并返回执行结果
a = 30
b = 20
print('a的值比较大!') if a > b else print('b的值比较大!') # a的值比较大!
a = 10
print('a的值比较大!') if a > b else print('b的值比较大!') # b的值比较大!
#获取a和b之间的较大值
max = a if a > b else b
print(max)