Python语法第四讲 运算符

5 运算符

5.1 运算符的概念

  • 运算符⽤于执⾏程序代码运算,会针对⼀个以上操作数项⽬来进⾏运算。例如:2+3,其操作数是2和3,⽽运算符则是“+”

5.2 运算符的分类

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

5.1.1 算术运算符

  • 加法运算符 表现形式 +
  • 减法运算符 表现形式 -
  • 乘法运算符 表现形式 *
  • 除法运算符 表现形式 /
  • // 整除,只会保留计算后的整数位,总会返回⼀个整型
  • % 取模,求两个数相除的余数
  • ** 幂运算,求⼀个值的⼏次幂
  • 字符串和字符串运算不支持减法和乘法
  • 字符串和数字乘法表示输出字符串的倍数
a = 10
b = 2
print("加法运算符", a + b)
print("减法运算符", a - b)
print("乘法运算符", a * b)
print("除法运算符", a / b)

在这里插入图片描述

a = 10
b = 3
print("// 整除", a // b)
print("% 取模", a % b)
c = 2
d = 3
print("** 幂运算", c ** d)
a1 = 9
print("开方计算", a1 ** 0.5)

在这里插入图片描述

5.1.2 赋值运算符

赋值运算符的特殊写法 x = x + 3 其实是和 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 )
%= (x %= 3 相当于 x= x % 3 )

5.1.3 ⽐较运算符

  • ⽐较运算符⽤来⽐较两个值之间的关系,总会返回⼀个布尔值.如果关系成⽴,返回True,否则返回False
  • ‘’> ⽐较左侧值是否⼤于右侧值
  • ‘’>= ⽐较左侧的值是否⼤于或等于右侧的值
  • < ⽐较左侧值是否⼩于右侧值
  • <= ⽐较左侧的值是否⼩于或等于右侧的值
  • 特殊的⽐较⽅式
    • == ⽐较两个对象的值是否相等
    • != ⽐较两个对象的值是否不相等
    • is ⽐较两个对象是否是同⼀个对象,⽐较的是对象的id
    • is not ⽐较两个对象是否不是同⼀个对象,⽐较的是对象的id

5.1.4 逻辑运算符

5.1.4.1 not 逻辑⾮
  • not可以对符号右侧的值进⾏⾮运算,对于布尔值,⾮运算会对其进⾏取反操作,True变False,False变True

  • 0,空串,None,还有一些表示空性的值都会转换为False,其他的值都可以转换为True

  • 下面几个代码运行结果都是True

a = not 0
b = not None
c = not {}
d = not []
print(a)
print(b)
print(c)
print(d)
5.1.4.2 and 逻辑与
  • and可以对符号两侧的值进⾏与运算。 只有在符号两侧的值都为True时,才会返回True,只要有⼀个False就返回False
  • 与运算是找False的,如果第⼀个值为False,则不再看第⼆个值
    下面代码只有第一个是True,其余都是False
a = 10 > 1 and 45.6 > 44
a1 = 1 > 10 and 45.6 > 44
a2 = 1 > 10 and 45.6 > 46
print(a)
print(a1)
print(a2)
5.1.4.3 or 逻辑或
  • 或运算两个值中只要有⼀个True,就会返回True
  • 或运算是找True的
    下面代码,只有第三个才是False,第一,第二都是True
a = 3 > 2 or 6 > 4
a1 = 3 > 2 or 4 > 6
a2 = 1 > 2 or 4 > 6
print(a)
print(a1)
print(a2)
5.1.4.4⾮布尔值的与或运算
  • 当我们对⾮布尔值进⾏与或运算时,Python会将其当做布尔值运算,最终会返回原值
print(10 and 20)
print(2 and 0)
print("" or "https://www.baidu.com")
print(18.5 or "https:www.baidu.com")
# 返回结果:
20
0
https://www.baidu.com
18.5
  • ⾮布尔值与运算的规则
    • 与运算是找False的,如果第⼀个值是False,则不看第⼆个值。如果第⼀个值是False,则直接返回第⼀个值,否则返回第⼆个值
  • ⾮布尔值或运算的规则
    • 或运算是找True的,如果第⼀个值是True,则不看第⼆个值。如果第⼀个值是True,则直接返回第⼀个值,否则返回第⼆个值

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

在这里插入图片描述

  • 条件运算符在执⾏时,会先对条件表达式进⾏求值判断
  • 如果判断结果为True,则执⾏语句1,并返回执⾏结果
  • 如果判断结果为False,则执⾏语句2,并返回执⾏结果
  • 语法: 语句1 if 条件表达式 else 语句2
a = int(input("Input a: "))
b = int(input("Input b: "))
print("a大于b") if a > b else (print("a小于b") if a < b else print("a等于b"))

5.1.6 运算符的优先级

  • 所谓优先级,就是当多个运算符同时出现在一个表达式中时,先执行哪个运算符。
  • 例如对于表达式a + b * c,Python 会先计算乘法再计算加法;b * c的结果为 8,a + 8的结果为24,所以 d 最终的值也是 24。先计算*再计算+,说明的优先级高于+。
  • Python 支持几十种运算符,被划分成将近二十个优先级,有的运算符优先级不同,有的运算符优先级相同,请看下表。

运算符优先级参照表
在这里插入图片描述

  • 当一个表达式中出现多个运算符时,Python 会先比较各个运算符的优先级,按照优先级从高到低的顺序依次执行;当遇到优先级相同的运算符时,再根据结合性决定先执行哪个运算符:如果是左结合性就先执行左边的运算符,如果是右结合性就先执行右边的运算符。

第四讲作业

  • 以4种格式化字符串的⽅式来实现 521 xxx 嫁给我好吗?
a = "@@@"
# 第一种:
print("521", a, "嫁给我好吗?")

# 第二种%s
print("521 %s 嫁给我好吗?" % a)

# 第三种f""
print(f"521 {a} 嫁给我好吗?")

# 第四种
print("521 {} 嫁给我好吗?".format(a))

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

res = a if a > b else b if b > c else c
print(res)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值