Python基础 第四章 运算符

1 运算符的概念

运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。例
如:2+3,其操作数是2和3,而运算符则是“+”

2 运算符的分类

算术运算符
赋值运算符
比较运算符(关系运算符)
逻辑运算符
条件运算符(三元运算符)

2.1 算术运算符

加法运算符 表现形式 +

a=1+2
print(a) # 3

减法运算符 表现形式 -

a = 5 - 2
print(a) # 3
b = 5 - True #True代表1  False代表0
print(b) # 4

乘法运算符 表现形式 *

b=2*3
print(b) # 6
a = 2 * 'abv'
print(a) # ‘abvabv’

除法运算符 表现形式 /

a = 5 / 3 
print(a)  # 1.6666666666666667

// 整除,只会保留计算后的整数位,总会返回亿个整型

x = 11 // 3 
print(a) # 3 取整 整除

% 取模,求两个数相除的余数

a = 5 % 3 
print(a) # 1 取模(取余)

** 幂运算,求一个值的几次幂

a = 2 ** 4
print(a) # 2的4次方等于16

使用幂运算的一种开平方的方式 会返回一个浮点类型

a = 25 ** 0.5
print(a) # 25 开平方为 5.0

2.2 赋值运算符

+= (x+= 3 相当于 x = x + 3 )

a=3
a += 2
print("a=",a) # a = 5

-= (x -= 3 相当于 x= x - 3 )

a=3
a -= 2
print("a =",a) # a = 1

*= (x = 3 相当于 x = x 3 )

a=3
a *= 2
print("a =",a) # a = 6

/= (x /= 3 相当于 x = x/ 3 )

a=6
a /= 2
print("a =",a) # a = 3.0 返回浮点类型

**= (x **= 3 相当于 x = x ** 3 )

a=3
a **= 3
print(a) # a = 27

//= (x //= 3 相当于 x = x // 3 )

a=7
a //= 3
print(a) ## a = 2 取整数

%= (x %= 3 相当于 x= x % 3 )

a=7
a %= 3
print(a) # a = 1 取余数

2.3 比较运算符

比较运算符用来比较两个值之间的关系,总会返回一个布尔值.如果关系成立,返回True,否则返回False
比较左侧值是否大于右侧值 >

a = 10 > 20
print(a) # False
b= 20 > 10
print(b) # True

比较左侧的值是否大于或等于右侧的值 >=

a = 10 >= 10
print(a) # True

比较左侧值是否小于右侧值 <

a = 10 < 20
print(a) # True

比较左侧的值是否小于或等于右侧的值 <=

a = 10 <= 10
print(a) # True

比较两个字符之间的大小比较的是字符所对应的ascii值

a = 'c' > 'b' 
print(a) # True

如果出现多个字符,那么我们比较是采用的对位比较

a='bc' > 'ba'
print(a) # True

特殊的比较方式
== 比较两个对象的值是否相等

a = 6 == 6
print(a) # True

!= 比较两个对象的值是否不相等

r = 'abc'!='bca'
print(r) # True

is 比较两个对象是否是同一个对象,比较的是对象的id

a=b=5
c=5
print (id(a)) # 1383427680
print (id(b)) # 1383427680
print (id(c)) # 1383427680
print(a is b) # True
print(a is c) # True
a=b=(1,2,3)
c=(1,2,3)
print (id(a)) # 7662904
print (id(b)) # 7662904
print (id(c)) # 7663264
print(a is b) # True
print(a is c) # False

is not 比较两个对象是否不是同一个对象,比较的是对象的id(与is结果相反)

a=b=5
c=5
print (id(a)) # 1383427680
print (id(b)) # 1383427680
print (id(c)) # 1383427680
print(a is not b) # False
print(a is not c) # False
a=b=(1,2,3)
c=(1,2,3)
print (id(a)) # 41479480
print (id(b)) # 41479480
print (id(c)) # 41479840
print(a is not b) # False
print(a is not c) # True

2.4 逻辑运算符

not可以对符号右侧的值进行非运算对于布尔值,非运算会对其进行取反操
作,True变False,False变True
对于非布尔值 非运算会将其先转换成布尔值,然后在进行取反操作
例如 0、 空串、 None…这些表示空性的值转换为False,剩下的全部都是True

2.4.1 not 逻辑非
a = 456 # 456被转换为True
b = not a 
print('b =',b) # b = False 
a = None # None被转换为False
a = not a
print('a =',a) # a = True
2.4.2 and 逻辑与

and可以对符号两侧的值进行与运算。 只有在符号两侧的值都为True时,才会返回True,只要有一个False就返回False
与运算是找False的,如果第一个值为False,则不再看第二个值

a,b,c=123,456,789

r1= a<b and b<c # True and True
print(r1)       # 结果为 True

r2= a<b and b>c # True and False
print(r2)		# 结果为 False

r3= a>b and b<c # False and True
print(r3)		# 结果为 False

r4= a>b and b>c # False and False
print(r4)		# 结果为 False
2.4.3 or 逻辑或

或运算两个值中只要有⼀个True,就会返回True, 或运算是找True的

a,b,c=123,456,789

r1= a<b or b<c # True or True
print(r1)      # 结果为 True

r2= a<b or b>c # True or False
print(r2)      # 结果为 True

r3= a>b or b<c # False or True
print(r3)      # 结果为 True

r4= a>b or b>c # False or False 
print(r4)      # 结果为 False
2.4.4 非布尔值的与或运算

当我们对非布尔值进行与或运算时Python会将其当做布尔值运算最终会返回原值
⾮非布尔值与运算的规则
与运算是找False的,如果第一个值是False,则不看第二个值。直接返回第一个值,否则返回第二个值

print(1 and 2)  # 第一个职为True返回第二个值,结果为2
print(0 and 1)  # 第一个职为False返回第一个值,结果为0

⾮非布尔值或运算的规则
或运算是找True的,如果第一个值是True,则不看第二个值。直接返回第一个值,否则返回第二个值

print(2 or 1)   # 第一个职为True返回第一个值,结果为2
print(0 or 1)   # 第一个职为False返回第二个值,结果为1

2.5 条件运算符(三元运算符)

条件运算符在执行时,会先对条件表达式进行求值判断
如果判断结果为True,则执行语句1,并返回执行结果
如果判断结果为False,则执行语句2,并返回执行结果
语法: 语句1 if 条件表达式 else 语句2

在这里插入图片描述

a,b=20,30

print(a if a>b else b) # 30
print(a if a<b else b) # 20

现在有a b c三个变量,三个变量中分别保存有三个数值,请通过条件运算符获取三个值中的最大值

a,b,c=20,50,40
print((a if a>c else c) if a>b else (b if b>c else c))
# 结果为50

2.6 运算符的优先级

运算符优先级参照表

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值