Python 运算符简介与用法

1. 运算符

1.1 运算符的概念

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

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

5. 逻辑运算符

5.1 not 逻辑非

• not可以对符号右侧的值进行非运算对于布尔值,非运算会对其进行取反操作,True变False,False变True

# not 逻辑非
a = 1 # ture
a = not a # False
r = none # 0 空串 none ---> False
r = not r # ture

5.2 and 逻辑与

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

# and 逻辑与 找False
r = Ture and Ture # Ture
r = Ture and False # False
r = False and Ture # False
r = False and False # False
Ture and print('Hello world') # Hello world
False and print('Hello world') # False

5.3 or 逻辑或

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

# or 逻辑或 找Ture
r = Ture and Ture # Ture
r = Ture and False # Ture
r = False and Ture # Ture
r = False and False # False
Ture or print('Hello world') # Ture
False and print('Hello world') # Hello world

5.4 非布尔值的与或运算

• 当我们对非布尔值进行与或运算时,Python会将其当做布尔值运算,最终会返回原值。

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

r = 1 and 2 # 2
r = 0 and 1 # 0
r = 1 and 0 # 0
r = 2 and 1 # 1
r = 1<2<3 # Ture, 1<2 and 2<3, 两边都是Ture

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

r = 1 or 2 # 1
r = 0 or 1 # 1
r = 1 or 0 # 1
r = 0 or None # None

6. 条件运算符(三元运算符)

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

a = 1
b = 2
print('a 的值比较大') if a > b else print('b 的值比较大') # b 的值比较大
# 比较a,b的最大值
a = 20
b = 10
m = a if a > b else b
print(m)

7. 运算符的优先级

运算符优先级参照表

8. 思考问题

1. ‘ax’<‘xa’ 为True还是False?

答案为:True

2. is与==的区别?

  • is 要判断两者在关系,或者说判断两个对象在关系或者对象值,也被叫做同一性运算符,这个运算符比较判断的是对象间的唯一身份标识,也就是id是否相同,返回结果是True 与 False
    例如:a is b
  • = = 是python标准操作符中的比较操作符,用来比较判断两个对象的value(值)是否相等
  • 它们有相同的地方是判断对象的值是否相等 然后返回True 与False
  • 详细可参考https://www.cnblogs.com/wangkun122/p/9082088.html

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

a = 10
b = 20
c = 30
m1 = a if a>b>c else b
m2 = m1 if b>c else c
print(m2)

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值