Dsh004 python基础编程--运算符

1 、运算符

1.1 运算符的概念

运算符用于执行程序代码运算,会针对一个以上操作数项目进行运算。

1.2 运算符的分类

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

2、 算术运算符

加(+)、减(-)、乘(*)、除(/)、整除(//)、取模或取余(%)、幂运算(乘方、开方)

3、赋值运算符

可以将等号右边的值赋给等号左边的值

+= (x+= 3 相当于 x = x + 3 )
-= (x -= 3 相当于 x= x - 3 )
*= (x = 3 相当于 x = x 3 )
**= (x **= 3 相当于 x = x ** 3 )
/= (x /= 3 相当于 x = x/ 3 )
//= (x //= 3 相当于 x = x // 3 )
%= (x %= 3 相当于 x= x % 3 )

4 比较运算符

⽐较运算符⽤来⽐较两个值之间的关系,总会返回⼀个布尔值.如果关系成⽴,返回True,否则返回False

大于: > ⽐较左侧值是否⼤于右侧值
大于等于:>= ⽐较左侧的值是否⼤于或等于右侧的值
小于:< ⽐较左侧值是否⼩于右侧值
小于等于:<= ⽐较左侧的值是否⼩于或等于右侧的值
特殊的⽐较⽅式:
== ⽐较两个对象的值是否相等
!= ⽐较两个对象的值是否不相等
is ⽐较两个对象是否是同⼀个对象,⽐较的是对象的id
is not ⽐较两个对象是否不是同⼀个对象,⽐较的是对象的id

r = '2' > '1'  # True
r = '2' > '11'   # True
r = 'a' > 'b'   # False
r = 'c' < 'd'   # True
r = 'ab' > 'b'   # False

比较两个字符之间的大小,比较的是字符对应的ascii值。
如果出现多个字符时,比较采用对位比较

5 逻辑运算符

5.1 not 逻辑非

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

5.2 and 逻辑与

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

5.3 or 逻辑或

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

5.4 非布尔值的与或运算

  • 当我们对⾮布尔值进⾏与或运算时,Python会将其当做布尔值运算,最终会返回原值
  • ⾮布尔值与运算的规则

与运算是找False的,如果第⼀个值是False,则不看第⼆个值。如果第⼀个值是False,则直接返回第⼀个值,否则返回第⼆个值

  • ⾮布尔值或运算的规则

或运算是找True的,如果第⼀个值是True,则不看第⼆个值。如果第⼀个值是True,则直接返回第⼀个值,否则返回第⼆个值

r = 1 and 2
print(r)        # 输出为:2
r = 0 and 1
print(r)        # 输出为:0
r = 0 or 1
print(r)        # 输出为:1
r = 1 or 2
print(r)        # 输出为:1

6、条件运算符

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

print('昨天七夕很高兴') if True else print('今天上班更爽')   # 输出结果为:昨天七夕很高兴
a = 10
b = 20
print('a的值比较大') if a > b else print('b的值比较大')   # 输出结果为:b的值比较大
a = 10
b = 20
m = a if a > b else b
print(m)            # 输出结果为:20

7、运算符的优先级

上网查找:运算符优先级参照表

8、练习

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

a = 1
b = 2
c = 3
m = a if a > b else b
m = c if m < c else m
print(c)              # 输出结果为:3
a = 1
b = 2
c = 3
m = a if a > b and a > c else b if b > c else c
print(c)                 # 输出结果为:3
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值