本章假定你已经阅读过上一篇教程。本章的所有内容在 Python 3.11.1 32x for Windows 下实现,不同的环境可能会有差异。
运算符
Python 中的某些符号被称为运算符,它们主要用于数学计算、比较大小和逻辑运算等。使用运算符将不同的数据按照一定的规则连接起来的式子成为表达式(expression)。
算数运算符
算术运算符主要用于处理数学计算。在 Python 中,算数运算符的使用和数学公式基本无异。
运算符 | 描述 | 示例 | 结果 |
+ | 加 | 12.45+15 | 27.45 |
- | 减 | 4.56-0.26 | 4.3 |
* | 乘 | 5*6 | 30 |
/ | 除以 | 6/3 | 2 |
% | 返回除法的余数 | 7%2 | 1 |
// | 返回除法的商 | 7//2 | 3 |
** | 幂(底数**指数) | 2**4 | 16 |
注意我们在数学公式中写的乘号"×"和除号"÷"在 Python 应表示为"*"和"/"。
在某些情况下,程序可能会因除数为 0 而报错:
实例:计算科目平均分
首先定义三个变量(语文、数学、英语三科的分数),随后使用 Python 的算数运算符计算三科平均分:
chinese = 83
math = 71
english = 89
avg = (chinese + math + english) / 3 # 平均值运算:(值1 + 值2 + 值3 + 值n)÷ n
print('三科平均分:'+avg)
运行,得到想要的结果了吗?
在之前的教程中,我们提到过变量的类型。在上方的 print 指令中,我们想让一个字符串和一个浮点数(或整数)相加(实际上是想让它们显示在一起),这是不可能的。这里涉及到加号的性质。如果加号两旁的变量都是数字类型,则执行加法;如果两旁都是字符串,则将两个字符串合并。此处我们想让两个字符串合并,所以需要将变量"avg"转换为字符串:
print('三科平均分:'+str(avg))
赋值运算符
赋值运算符主要用于给变量赋值。
运算符 | 描述 | 示例 | 展开形式 | 结果 |
= | 赋值 | val = 4 | val = 4 | 4 |
+= | 加赋值 | val += 1 | val = val + 1 | 5 |
-= | 减赋值 | val -= 1 | val = val - 1 | 3 |
*= | 乘赋值 | val *= 2 | val = val * 2 | 8 |
/= | 除赋值 | val /= 2 | val = val / 2 | 2 |
%= | 取余数赋值 | val %= 2 | val = val % 2 | 0 |
**= | 幂赋值 | val **= 2 | val = val ** 2 | 16 |
//= | 取整除赋值 | val //= 2 | val = val // 2 | 2 |
比较运算符
比较运算符也被称为关系运算符,用于对变量或表达式的结果比较大小、是否等。如果结果为是,则返回 True,否则返回 False。
运算符 | 描述 | 示例 | 结果 |
> | 大于 | 1 > 2 | False |
< | 小于 | 1 < 2 | True |
== | 等于 | 1 == 1 | True |
!= | 不等于 | 1 != 2 | True |
>= | 大于或等于 | 1 >= 2 | False |
<= | 小于或等于 | 1 <= 1 | True |
注意,"="和"=="经常被混淆。"="用于给某个变量赋值,例如:
var = 1 root = Tk()
而"=="用于比较两个变量是否相等。如:
val1 = 1 val2 = 4 if val1 == val2: print('Same') else: print('Different')
等号的错误
在 Python 中,如果需要判断一个值是否介于两个值之间,可以使用 值 < 变量 < 值 的形式。
转义符
转义符通常位于字符串中,起到更改字符串的作用。转义符通常由一个反斜杠"\"和字符组成。
转义符 | 说明 |
\ | 续行符 |
\n | 换行符 |
\t | 制表符(即 Tab 键) |
\0 | 空 |
\" | 双引号 |
\' | 单引号 |
\\ | 一个反斜杠(\) |
\f | 换页 |
解析器不会把转义符当作是普通的字符,会优先解析转义符的作用
但是如果我们希望输出转义符呢?
这有些抬杠,但确实可行。在字符串的最前(第一个引号的前面)加上"r"可以使字符串内的所有内容变为普通字符。注意看,引号前的"r"也变成绿色了。