python中常见的算数运算符
加减乘除,幂运算,整除,取余
print(1 + 1) #2
print(4 - 2) #2
print(3 * 2) #6
print(6 / 2) #3.0 在python中,两个整数相除,得到的结果会是一个浮点数
print(9 / 2) #4.5
print(2 ** 3) #8
print(81 ** 1/2) #40.5
print(81 **(1/2)) #9——81的0.5幂次就是9。幂运算可以计算开平方
print(10 // 3) #3
print(10 % 3) #1
如果是两个字符串做加法运算,会直接把这两个字符串拼接成为一个字符串。
字符串里有限度的支持加法和乘法运算符,数字和字符串不能做加法运算
乘法运算符:可以用于数字和字符之间,用来将一个字符串重复多次
print("hello"+"world") # helloworld
print(16 + 'hello') #报错
print('hello' *2) #hellohello
等号在计算机编程里,我们称之为赋值运算符
赋值运算符的作用是将等号右边的值赋值给等号的左边
等号的左边一定不能是常量或者表达式
a = 4 #对
5 = b #错
3 + 3 = m #错
x = 1
x += 2 # 3
print(-5 // 2) #-3,整除,向下取整
print(5 // 2) #2,向下取整
m = 15
print(15 %= 2) # 1
等号连接的变量可以传递赋值
a = b =c =d ='hello'
print(a,b,c,d) #hello,hello,hello,hello,没问题
x = 'yes' = y = z #报错
m , n = 3 , 5
print(m,n) # 3,5 不会报错,拆包,拆包时变量的个数和数值的个数不一样时就会报错
o,*p,q = 1,2,3,4,5,6 #拆包的特殊情况
print(o) #1
print(p) #2,3,4,5
print(q) #6
x = 'hello','world','nihao'
print(x) #('hello','world','nihao') 默认的将x视作元组
大于>,小于<,大于等于>=,小于等于<=,不等于!=,等等与==
print(2 > 1) #True
print(2 < 4) #True
print(4 >= 3) #True
print(4 <= 9) #True
print(5 != 6) #True
print('hello' == 'hello') True
比较运算符在字符串里的使用
字符串之间使用比较运算符,会根据各个字符的字符编码值逐一进行比较
# ASCII 表 a = 97,A = 65
print('a' > 'b') #False 97 > 98
print('ABC' > 'b') #false 65 > 97 False,66 >97 False,67 > 97 False,会逐一进行比较
print('a' > 90 ) # 报错 '>' not supported between instances of 'str' and 'int'
print('a' != 90) #True
#数字和字符串之间,做 == 运算是False,做 != 运算时Ture,不再支持其他运算
逻辑与and,逻辑或or ,逻辑非not
#逻辑与规则:只要有一个是False,最后的结果就是False.,所有的全对,结果才对
print(2 > 1 and 5 > 3 and 10 > 2) # True
print(3 > 2 and 5 < 4 and 6 > 1) #False
#逻辑或规则:只要有一个是True,最后的结果就是True.所有的全错,结果才错
print(2 > 1 or 5 > 3 or 10 > 2) # True
print(3 < 2 or 5 < 4 or 6 < 1) #False
#逻辑非规则:取反,对变错,错变对
print(not(5 > 2)) #False
逻辑与运算:只有所有的运算数都是对,结果才是对,只要有一个错,结果就是错
4 > 3 and print('hello world')
4 < 3 and print('你好世界')
# 两行代码执行的结果是 helloworld,你好世界并不会被打印出来
4 > 3 对,print(‘hello world’)也对,4 < 3的时候错了,4 < 3之后的就不运行了,这种情况就叫做短路
逻辑或运算:只有所有的都是错,结果才是错,只要有一个对,结果就是对
4 > 3 or print('哈哈哈')
4 < 3 or print('嘿嘿嘿')
# 两行代码执行的结果是 嘿嘿嘿。4 > 3是对的,结果就出来了,所以哈哈哈不再进行打印
逻辑运算的结果不一定是布尔值
逻辑与运算做取值时,取第一个为False的值,如果所有的运算数都是True,就取最后一个值
print(3 and 5 and 0 and ‘hello’ ) # 0
print(‘good’ and ‘yes’ and ‘ok’ and 100) # 100
逻辑或运算做取值时,取第一个为Ture的值,如果所有的运算数都是False,取最后一个值 print(0 or [ ] or 'lisi' or 5 or 'ok') #lisi print(0 or [ ] or { } or ()) #( )