欢迎光临
我们一直在努力

第4天:Python语言中的运算符

Python学习100天(从入门到精通系列文章)


文章目录

  • Python学习100天(从入门到精通系列文章)
  • 前言
  • 一、运算符优先级总览
  • 二、算术运算符
    • 2.1 基本算术运算
    • 2.2 运算优先级
  • 三、赋值运算符
    • 3.1 基本赋值与复合赋值
    • 3.2 海象运算符(Python 3.8+)
  • 四、比较运算符和逻辑运算符
    • 4.1 比较运算符
    • 4.2 逻辑运算符
  • 五、运算符应用实战
    • 5.1 例子1:华氏温度转摄氏温度
    • 5.2 例子2:计算圆的周长和面积
    • 5.3 例子3:判断闰年
  • 总结

前言

上节课我们学习了Python中的变量,掌握了如何用变量来存储和操作数据。有了变量之后,下一步自然就是学习如何对变量进行运算。今天这篇文章将带你全面了解Python中的各种运算符和表达式,这是编程中最核心的基础之一。


一、运算符优先级总览

在Python中,运算符按照优先级从高到低排列如下:

运算符描述
[]、[:] 索引、切片
**
~、+、- 按位取反、正号、负号
*、/、%、// 乘、除、模、整除
+、- 加、减
>>、<< 右移、左移
& 按位与
^、| 按位异或、按位或
<=、<、>、>= 小于等于、小于、大于、大于等于
==、!= 等于、不等于
is、is not 身份运算符
in、not in 成员运算符
not、or、and 逻辑运算符
=、+=、-=、*=、/=、%=、//=、**=、&=、|=、^=、>>=、<<= 赋值运算符

说明:所谓优先级就是在一个运算表达式中,如果出现了多个运算符,应该先执行什么再执行什么的顺序。如果搞不清楚优先级,可以使用圆括号(小括号)来确保运算的执行顺序。


二、算术运算符

2.1 基本算术运算

Python中的算术运算符非常丰富,除了加、减、乘、除之外,还有整除、求模(求余数)和求幂运算符:

"""
算术运算符
"""

print(321 + 12) # 加法运算 → 333
print(321 12) # 减法运算 → 309
print(321 * 12) # 乘法运算 → 3852
print(321 / 12) # 除法运算 → 26.75
print(321 // 12) # 整除运算 → 26
print(321 % 12) # 求模运算 → 9
print(321 ** 12) # 求幂运算 → 1196906950228928915420617322241

2.2 运算优先级

算术运算遵循"先乘除后加减"的原则,求幂运算的优先级高于乘除法。使用圆括号可以改变运算顺序:

print(2 + 3 * 5) # 17(先乘后加)
print((2 + 3) * 5) # 25(括号优先)
print((2 + 3) * 5 ** 2) # 125(先求幂,再乘法)
print(((2 + 3) * 5) ** 2) # 625(括号改变顺序)


三、赋值运算符

3.1 基本赋值与复合赋值

赋值运算符的作用是将右边的值赋给左边的变量。它还可以跟算术运算符组合成复合赋值运算符:

"""
赋值运算符和复合赋值运算符
"""

a = 10
b = 3
a += b # 相当于:a = a + b → a = 13
a *= a + 2 # 相当于:a = a * (a + 2) → a = 13 * 15 = 195
print(a) # 输出 195

3.2 海象运算符(Python 3.8+)

Python 3.8 引入了海象运算符:=,它可以在赋值的同时返回表达式的值:

"""
海象运算符
"""

# print((a = 10)) # SyntaxError: invalid syntax
print((a := 10)) # 10(海象运算符)
print(a) # 10

提示:普通赋值表达式a = 10不能直接放在print()中,会报语法错误。海象运算符解决了这个问题。


四、比较运算符和逻辑运算符

4.1 比较运算符

比较运算符(也称关系运算符)包括:

运算符说明
== 等于(注意是两个等号!)
!= 不等于
< 小于
> 大于
<= 小于等于
>= 大于等于

注意:比较相等用的是==(两个等号),而=是赋值运算符。

4.2 逻辑运算符

Python中有三个逻辑运算符:

  • and(与):两边都为True结果才是True,具有短路特性(左边为False时右边不执行)
  • or(或):任意一边为True结果就是True,具有短路特性(左边为True时右边不执行)
  • not(非):对布尔值取反

"""
比较运算符和逻辑运算符的使用
"""

flag0 = 1 == 1
flag1 = 3 > 2
flag2 = 2 < 1
flag3 = flag1 and flag2
flag4 = flag1 or flag2
flag5 = not flag0

print('flag0 =', flag0) # True
print('flag1 =', flag1) # True
print('flag2 =', flag2) # False
print('flag3 =', flag3) # False
print('flag4 =', flag4) # True
print('flag5 =', flag5) # False
print(flag1 and not flag2) # True
print(1 > 2 or 2 == 3) # False

说明:比较运算符的优先级高于赋值运算符,所以flag0 = 1 == 1先执行1 == 1得到True,再赋值给flag0。


五、运算符应用实战

5.1 例子1:华氏温度转摄氏温度

转换公式:C = (F – 32) / 1.8

"""
将华氏温度转换为摄氏温度(方式一)
"""

f = float(input('请输入华氏温度: '))
c = (f 32) / 1.8
print('%.1f华氏度 = %.1f摄氏度' % (f, c))

Python中还有更简洁的格式化输出方式——f-string(推荐):

"""
将华氏温度转换为摄氏温度(方式二:f-string)
"""

f = float(input('请输入华氏温度: '))
c = (f 32) / 1.8
print(f'{f:.1f}华氏度 = {c:.1f}摄氏度')

5.2 例子2:计算圆的周长和面积

"""
输入半径计算圆的周长和面积
"""

import math

radius = float(input('请输入圆的半径: '))
perimeter = 2 * math.pi * radius
area = math.pi * radius ** 2
print(f'周长: {perimeter:.2f}')
print(f'面积: {area:.2f}')

Python 3.8 新增的调试输出语法:

print(f'{perimeter = :.2f}') # 输出:perimeter = 34.56
print(f'{area = :.2f}') # 输出:area = 95.03

说明:f'{a = }'会同时输出变量名和值,非常方便调试。

5.3 例子3:判断闰年

"""
输入年份,闰年输出True,平年输出False
"""

year = int(input('请输入年份: '))
is_leap = year % 4 == 0 and year % 100 != 0 or year % 400 == 0
print(f'{is_leap = }')

闰年判断规则:

  • 非4的倍数 → 平年
  • 是4的倍数但不是100的倍数 → 闰年
  • 是400的倍数 → 闰年

  • 总结

    本节课我们系统学习了Python中的各类运算符:算术运算符(加减乘除、整除、求模、求幂)、赋值运算符(含海象运算符)、比较运算符和逻辑运算符,并通过三个实战例子展示了运算符的实际应用。变量、运算符和表达式是任何编程语言的核心基础,务必熟练掌握。如果有什么不理解的地方,欢迎在评论区留言讨论!

    赞(0)
    未经允许不得转载:171主机测评 » 第4天:Python语言中的运算符
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址