目录
一、算术运算符
二、赋值运算符
三、比较运算符
四、逻辑运算符
一、算术运算符
首先我们了解一下何为算术运算符?
算术运算符即数学运算符,用来对数字进行数学运算,比如加减乘除等。
下面我们来了解一下算术运算符有哪些:
- 加法:
“ + ” print(1+1) # 进行加法运算
- 减法:
“ - ” print(4-2) # 进行减法运算
- 乘法:
“ * ” print(1*1) # 进行乘法运算
- 除法:
“ / ” print(4/2) # 进行除法运算
- 幂运算:
“ ** ” print(3**2) # 进行幂运算,结果是9
- 整除:
“ // ” print(4//3) # 整数,只取整数部分
- 取余:
“ % ” print(5 % 2) # 取余, 只取余数部分
- 注意:如果 a > b ,那么得到的结果还是 a ;
print((1928 % 2049)) # 结果是1928
- 在Python3里,两个整数相除,得到的结果是浮点数
print((6 / 2)) # 结果是 3.0
print((9 / 2)) # 结果是 4.5
算数运算符在字符串里边的使用
算数运算符在字符串里边使用时的注意事项:
- 字符串里有限度的支持加法和乘法算数运算符
- 加法运算符:只能用于两个字符串类型的数据,用来拼接两个字符串
- 将多个字符串拼接为一个字符串,代码如下:
print('hello' + 'world') # 结果是helloworld
- 在Python里,数字和字符串之间,不能做加法运算,代码如下:
print('18' + 1) # 会直接报错
- 乘法运算符:可以用于数字和字符串之间,用来将一个字符串重复多次,代码如下:
print('hello' * 2) # 结果是hellohello
二、赋值运算符
首先我们了解一下何为赋值运算符?
赋值运算符就是用来把等于号右侧的值传递给左侧的变量(常量)。
赋值运算符作用以及性质:
- 等号,在计算编程里,我们称之为赋值运算符,和数学里的等号有一定的区别
- 计算机编程里,等号(赋值运算符)作用是将等号右边的值赋值给等号的左边
- 等号的左边一定不能是常量或者表达式,例如 4 = a
- 将等号右边的 5 赋值给左边的 b ,例如 b = 5
- 复合赋值运算符,例如 x += 5
- 等号连接的变量可以传递赋值 ,例如 a = b = c = d = 'hello'
- 拆包 :表示等量分配 , 例如 m , n = 1 , 2
- 拆包时,变量的个数和值的个数不一致,会报错,例如 y , z = 1, 2 , 3 , 4
- *星号表示可变长度
o,p,*q = 1,2,3,4,5,6 # *表示可变长度
print((o, p, q)) # 结果是(1,2,[3,4,5,6])
三、比较运算符
首先我们来了解一下何为比较运算符?
简单来说就是用来对常量、变量或着是表达式的结果进行大小比较。如果成立,则值返回True(真),不成立则值返回False(假)。
比较运算符有以下几种:
- 大于( > ):
print(2 > 1) # True(表达式成立,则返回值为True(真))
- 小于( < ):
print(2 < 1) # False (表达式不成立,返回值为False)
- 大于等于( >= ):
print(3 >= 2) # True
- 小于等于( <= ):
print(4 <= 5) # True
- 不等于( != ):
print(1 !=2) # True
- 等等于( == ):
print('hello' == 'hello') # True
- 比较运算符在字符串里的使用:
print('a' > 'b') # False 字符串之间使用比较运算符,会根据各个字符的编码值逐一进行比较,ASCII码表里有具体的值
- 数字和字符串之间,做 == 运算的结果是False,代码如下:
print('a' == 97) # False
- 数字和字符串之间,做 != 运算的结果是True,不支持其它运算符
print('a' != 97) # True
四、逻辑运算符
首先我们来了解一下何为逻辑运算符?
逻辑运算,用来做与、或、非、短路运算。
逻辑运算符有以下这些:逻辑与(and) , 逻辑或(or) , 逻辑非(not)
- 逻辑与:(and) 的规则:只要有一个运算数是False,结果就是False;只有所有的运算数都是True,结果才是True。代码如下:
print(2 > 1 and 4 > 3 and 5 > 3) # 结果为True
print(3 > 2 and 5 > 4 and 6 > 1) # 结果是False
- 逻辑或:(or)的规则:只要有一个运算数是True,结果就是True;只有所有的运算数都是False,结果才是False。代码如下:
print(3 > 9 or 4 < 7 or 10 < 3) # True
print(3 > 5 or 4 < 2 or 8 < 7) # False
- 逻辑非:(not)的规则:True ==> False False ==> True
print(not(5 > 2))
逻辑与运算,刚才在上述有提到过,在这就不多说了,我们来说一下逻辑与运算的短路问题。短路的原则:当左边的表达式不成立时,将不会执行右边的式子。
接下来我们来实战关于逻辑与运算的短路问题,代码如下:
4 > 3 and print('hello world') # 表达式成立,执行结果
4 < 3 and print('你好世界') # 表达式不成立,不执行
最近挺多朋友有这个疑问,说逻辑运算的结果,一定是布尔值吗? 答案肯定是不一定!
为什么?因为逻辑与运算做取值时,取第一个为False的值;如果所有的运算数都是True,取最后一个值,代码如下:
print(3 and 5 and 0 and 'hello') # 0
print('good' and 'yes' and 'ok' and 100) # 100
逻辑或运算做取值时,取第一个为True的值;如果所有的运算数都是False,取最后一个值,代码如下:
print(0 or 'list' or 5 or 'ok') # list
print(0 or [] or {} or ()) # ()