当前位置:首页>python>Python(四) 运算符和表达式

Python(四) 运算符和表达式

  • 2026-08-18 23:10:36
Python(四) 运算符和表达式
Python(四) 运算符和表达式
一、为什么要学习运算符和表达式

写程序时,经常需要让计算机帮我们“算东西”“做判断”“组合数据”。

例如:

price = 20
count = 3
total = price * count
print(total)

这里的 * 就是运算符,表示乘法。

再比如:

age = 18
if age >= 18:
print("已成年")

这里的 >= 也是运算符,表示“大于等于”。

在 Python 中,运算符和表达式几乎无处不在。学习变量、输入输出、条件判断、循环、函数时,都会用到它们。

简单来说:

运算符:用来进行计算、比较、判断或赋值的符号或关键字。
表达式:由变量、常量、运算符、函数调用等组成,并且能够计算出一个结果的代码。

掌握运算符和表达式,学生才能真正写出“会计算、会判断、会处理数据”的程序。


二、运算符的定义

运算符是 Python 中具有特殊含义的符号或关键字,用来对数据进行操作。

例如:

10 + 20

这里的 + 是运算符,表示加法。

score >= 60

这里的 >= 是运算符,表示大于等于。

name == "小明"

这里的 == 是运算符,表示判断两个值是否相等。


三、表达式的定义

表达式是能够计算出一个结果的代码。

例如:

10 + 20

这是一个表达式,结果是:

30

再比如:

age >= 18

这也是一个表达式,结果可能是:

True

或者:

False

再看一个例子:

price * count

如果:

price = 20
count = 3

那么表达式 price * count 的结果就是:

60

教学时可以告诉学生:

表达式就像一道算式,程序会把它算出一个结果。


四、运算符和表达式的关系

运算符通常是表达式的一部分。

例如:

a + b

这里:

a 和 b 是参与运算的数据。
+ 是运算符。
a + b 整体是表达式。

再如:

score >= 60

这里:

score 和 60 是参与比较的数据。
>= 是比较运算符。
score >= 60 整体是表达式,结果是布尔值 True 或 False

五、Python 中常见运算符分类

Python 中常见的运算符可以分为以下几类:

运算符类型
作用
算术运算符
做数学计算
赋值运算符
给变量赋值或更新变量
比较运算符
比较两个值的关系
逻辑运算符
组合多个条件
成员运算符
判断某个值是否在序列中
身份运算符
判断两个对象是否是同一个对象
位运算符
对整数的二进制位进行运算

初学阶段最重要的是:

1.
算术运算符
2.
赋值运算符
3.
比较运算符
4.
逻辑运算符
5.
成员运算符

位运算符和身份运算符可以作为了解内容,不需要一开始讲得太深。


六、算术运算符

算术运算符用于数学计算。

常见算术运算符:

运算符
名称
示例
结果
+
加法
3 + 25
-
减法
3 - 21
*
乘法
3 * 26
/
除法
3 / 21.5
//
整除
3 // 21
%
取余
3 % 21
**
幂运算
3 ** 29

1. 加法运算符 +

+ 可以用于数字加法。

a = 10
b = 20
print(a + b)

输出:

30

+ 也可以用于字符串拼接。

first_name = "张"
last_name = "三"
print(first_name + last_name)

输出:

张三

注意:

数字加法和字符串拼接不是一回事。

print(10 + 20)
print("10" + "20")

输出:

30
1020

第一个是数学加法,第二个是字符串拼接。


2. 减法运算符 -

- 用于数字减法。

money = 100
cost = 35
left = money - cost
print(left)

输出:

65

也可以表示负数:

temperature = -5
print(temperature)

输出:

-5

3. 乘法运算符 *

* 用于数字乘法。

price = 12
count = 5
total = price * count
print(total)

输出:

60

* 还可以让字符串重复多次。

print("Python" * 3)

输出:

PythonPythonPython

这个特性可以用于简单分隔线:

print("-" * 20)

输出:

--------------------

4. 除法运算符 /

/ 表示普通除法。

print(10 / 2)
print(10 / 3)

输出:

5.0
3.3333333333333335

注意:

在 Python 中,使用 / 做除法时,结果通常是浮点数。

即使能整除:

print(10 / 2)

输出也是:

5.0

而不是整数 5


5. 整除运算符 //

// 表示整除,也叫地板除。

它会得到除法结果的整数部分。

print(10 // 3)
print(9 // 2)

输出:

3
4

可以这样理解:

10 除以 3 等于 3 余 1,所以 10 // 3 的结果是 3。
9 除以 2 等于 4 余 1,所以 9 // 2 的结果是 4。

注意:

// 不是四舍五入,而是向下取整。

print(5 // 2)
print(5.0 // 2)

输出:

2
2.0

6. 取余运算符 %

% 表示取余数。

print(10 % 3)
print(9 % 2)

输出:

1
1

取余在编程中很常用。

例如,判断一个数是奇数还是偶数:

number = int(input("请输入一个整数:"))
if number % 2 == 0:
print("偶数")
else:
print("奇数")

这里:

number % 2

表示 number 除以 2 的余数。

如果余数是 0,说明它能被 2 整除,是偶数。


7. 幂运算符 **

** 表示乘方。

print(2 ** 3)
print(3 ** 2)

输出:

8
9

解释:

2 ** 3 表示 2 的 3 次方,也就是 2 * 2 * 2
3 ** 2 表示 3 的 2 次方,也就是 3 * 3

计算正方形面积:

side = 5
area = side ** 2
print(area)

输出:

25

七、算术表达式

由数字、变量和算术运算符组成的表达式,叫算术表达式。

例如:

10 + 20
price * count
(a + b) / 2

例子:计算平均分。

chinese = 90
math = 95
english = 88
average = (chinese + math + english) / 3
print(f"平均分是{average:.2f}")

输出:

平均分是91.00

这里:

(chinese + math + english) / 3

就是一个算术表达式。


八、赋值运算符

赋值运算符用于给变量赋值,或者更新变量的值。

最常见的赋值运算符是:

=

例子:

name = "小明"
age = 18

这里不是数学中的“相等”,而是把右边的值保存到左边的变量中。

可以读作:

把 "小明" 赋值给变量 name。
把 18 赋值给变量 age。

1. 普通赋值
x = 10
print(x)

输出:

10

变量的值可以被重新赋值。

x = 10
x = 20
print(x)

输出:

20

因为第二次赋值会覆盖第一次的值。


2. 链式赋值

可以同时给多个变量赋同一个值。

a = b = c = 0
print(a)
print(b)
print(c)

输出:

0
0
0

这表示 abc 的值都是 0。


3. 多变量赋值

Python 支持一次给多个变量赋值。

name, age, city = "小明"18"北京"
print(name)
print(age)
print(city)

输出:

小明
18
北京

注意:

左边变量个数和右边数据个数要一致。

错误示例:

a, b = 102030

这会报错,因为左边有 2 个变量,右边有 3 个值。


4. 复合赋值运算符

复合赋值运算符用于“在原来变量的基础上进行运算,再赋值回去”。

常见复合赋值运算符:

运算符
含义
等价写法
+=
加后赋值
x = x + n
-=
减后赋值
x = x - n
*=
乘后赋值
x = x * n
/=
除后赋值
x = x / n
//=
整除后赋值
x = x // n
%=
取余后赋值
x = x % n
**=
幂运算后赋值
x = x ** n

例子:

count = 0
count += 1
print(count)

输出:

1

这里:

count += 1

等价于:

count = count + 1

5. 复合赋值常见场景

统计次数:

count = 0
count += 1
count += 1
count += 1
print(count)

输出:

3

累加总和:

total = 0
total += 10
total += 20
total += 30
print(total)

输出:

60

循环中经常会用到复合赋值:

total = 0
for number inrange(16):
    total += number
print(total)

输出:

15

九、比较运算符

比较运算符用于比较两个值之间的关系。

比较表达式的结果一定是布尔值:

True

或:

False

常见比较运算符:

运算符
含义
示例
结果
==
等于
3 == 3True
!=
不等于
3 != 2True
>
大于
5 > 3True
<
小于
5 < 3False
>=
大于等于
5 >= 5True
<=
小于等于
4 <= 5True

1. 等于 ==

== 用来判断两个值是否相等。

print(10 == 10)
print(10 == 20)

输出:

True
False

注意:

== 和 = 不一样。

= 是赋值。
== 是判断是否相等。
age = 18# 把 18 赋值给 age
age == 18# 判断 age 是否等于 18

这是初学者非常容易混淆的地方。


2. 不等于 !=

!= 用来判断两个值是否不相等。

password = "123456"
print(password != "admin")

输出:

True

3. 大于、小于、大于等于、小于等于
score = 85
print(score > 90)
print(score >= 60)
print(score < 60)
print(score <= 100)

输出:

False
True
False
True

这些比较运算符经常用在 if 条件判断中。

score = int(input("请输入成绩:"))
if score >= 60:
print("及格")
else:
print("不及格")

4. 链式比较

Python 支持链式比较。

例如,判断成绩是否在 0 到 100 之间:

score = 85
if0 <= score <= 100:
print("成绩有效")
else:
print("成绩无效")

这比下面写法更简洁:

if score >= 0and score <= 100:
print("成绩有效")

不过初学时可以先讲普通写法,再介绍链式比较。


十、比较表达式

比较表达式是使用比较运算符组成的表达式。

例如:

age >= 18
score == 100
password != "123456"

比较表达式的结果是 True 或 False

例子:

age = 20
result = age >= 18
print(result)

输出:

True

这里:

age >= 18

先被计算成 True,然后赋值给变量 result


十一、逻辑运算符

逻辑运算符用于组合多个条件。

Python 中常见逻辑运算符有三个:

运算符
含义
说明
and
多个条件都为真,结果才为真
or
多个条件只要有一个为真,结果就为真
not
取反,真变假,假变真

1. and 运算符

and 表示“并且”。

只有左右两个条件都成立,结果才是 True

age = 20
has_ticket = True
if age >= 18and has_ticket:
print("可以入场")
else:
print("不能入场")

这里必须同时满足:

年龄大于等于 18。
有票。

才可以入场。


2. or 运算符

or 表示“或者”。

只要左右两个条件有一个成立,结果就是 True

is_member = False
has_coupon = True
if is_member or has_coupon:
print("可以享受优惠")
else:
print("不能享受优惠")

这里只要是会员,或者有优惠券,就可以享受优惠。


3. not 运算符

not 表示“不是”或“取反”。

is_login = False
ifnot is_login:
print("请先登录")

is_login 是 Falsenot is_login 就是 True

所以会输出:

请先登录

4. 逻辑运算真值表

and 的规则:

表达式
结果
True and TrueTrue
True and FalseFalse
False and TrueFalse
False and FalseFalse

or 的规则:

表达式
结果
True or TrueTrue
True or FalseTrue
False or TrueTrue
False or FalseFalse

not 的规则:

表达式
结果
not TrueFalse
not FalseTrue

5. 逻辑表达式

由比较表达式和逻辑运算符组成的表达式,叫逻辑表达式。

例如:

age >= 18and has_ticket
score >= 60or is_makeup_exam
not is_login

逻辑表达式经常作为 if 的条件。

score = 85
attendance = 90
if score >= 60and attendance >= 80:
print("可以通过课程")
else:
print("不能通过课程")

十二、成员运算符

成员运算符用于判断一个值是否在某个序列中。

常见成员运算符:

运算符
含义
in
在里面
not in
不在里面

这里的序列可以是字符串、列表、元组等。


1. 在字符串中使用 in
text = "hello python"
print("python"in text)
print("java"in text)

输出:

True
False

可以用于简单关键词判断:

message = "我正在学习 Python"
if"Python"in message:
print("这句话和 Python 有关")

2. 在列表中使用 in
students = ["小明""小红""小刚"]
print("小明"in students)
print("小李"in students)

输出:

True
False

用于判断用户输入是否在允许范围内:

level = input("请输入等级 A/B/C:")
if level in ["A""B""C"]:
print("等级有效")
else:
print("等级无效")

3. not in

not in 表示“不在里面”。

forbidden_names = ["admin""root"]
username = input("请输入用户名:")
if username notin forbidden_names:
print("用户名可以使用")
else:
print("用户名不能使用")

十三、身份运算符

身份运算符用于判断两个变量是否引用同一个对象。

常见身份运算符:

运算符
含义
is
是同一个对象
is not
不是同一个对象

初学时可以简单理解:

== 判断值是否相等。
is 判断是否是同一个对象。

例子:

a = [123]
b = [123]
c = a
print(a == b)
print(a is b)
print(a is c)

输出通常是:

True
False
True

解释:

a == b 是 True,因为两个列表的内容相同。
a is b 是 False,因为它们是两个不同的列表对象。
a is c 是 True,因为 c 引用的就是 a 指向的那个列表。

初学阶段需要重点记住:

判断两个值是否相等,一般使用 ==,不要随便用 is

常见用法是判断是否为 None

result = None
if result isNone:
print("没有结果")

十四、位运算符

位运算符用于对整数的二进制位进行运算。

这部分在 Python 基础入门阶段不是最常用内容,可以作为了解。

常见位运算符:

| 运算符 | 名称     || ------ | -------- | ------ |&    | 按位与   |     |        | 按位或 |^    | 按位异或 |~    | 按位取反 |<<   | 左移     |>>   | 右移     |

例子:

print(5 & 3)
print(5 | 3)

可以把整数先想象成二进制:

5 的二进制是 101
3 的二进制是 011

按位与 &

101
011
---
001

结果是二进制 001,也就是十进制 1

对于初学者,不需要一开始掌握复杂位运算,只要知道它是“对二进制位进行操作”的运算符即可。


十五、运算符优先级

当一个表达式中有多个运算符时,Python 会按照一定顺序计算。

这就是运算符优先级。

比如:

result = 2 + 3 * 4
print(result)

输出:

14

因为乘法 * 的优先级高于加法 +,所以先算:

3 * 4 = 12

再算:

2 + 12 = 14

如果想先算加法,可以使用小括号:

result = (2 + 3) * 4
print(result)

输出:

20

十六、常见运算符优先级顺序

下面列出初学阶段常见的优先级,从高到低:

优先级
运算符
说明
()
小括号
**
幂运算
+x
-x
正号、负号
*
///%
乘、除、整除、取余
+
-
加、减
>
<>=<===!=
比较
not
逻辑非
and
逻辑与
or
逻辑或

不建议让初学者死记整张优先级表。

更实用的建议是:

如果不确定先算谁,就加小括号。

例子:

if (score >= 60and (attendance >= 80):
print("通过")

虽然这里不加括号也能运行,但加括号后更容易读懂。


十七、表达式的求值过程

表达式求值,就是 Python 计算表达式结果的过程。

例子:

result = (10 + 5) * 2 > 20

可以分步骤理解:

1.
先算小括号:10 + 5,结果是 15
2.
再算乘法:15 * 2,结果是 30
3.
再进行比较:30 > 20,结果是 True
4.
最后把 True 赋值给变量 result

所以:

print(result)

输出:

True

教学时可以让学生把复杂表达式一步一步拆开,这样更容易理解。


十八、短路运算

逻辑运算符 and 和 or 有一个重要特点:短路运算。

短路运算指的是:

当 Python 已经能确定整个表达式结果时,就不会继续计算后面的部分。


1. and 的短路

and 要求左右都为真,结果才为真。

如果左边已经是 False,整个表达式一定是 False,右边就不需要再计算。

age = 15
if age >= 18andinput("请输入验证码:") == "1234":
print("验证通过")
else:
print("验证失败")

这里 age >= 18 是 False,所以 Python 不会再执行右边的 input()

因为无论右边是真是假,整个 and 表达式都已经不可能为 True


2. or 的短路

or 只要求有一个条件为真,结果就为真。

如果左边已经是 True,整个表达式一定是 True,右边就不需要再计算。

is_admin = True
if is_admin orinput("请输入邀请码:") == "8888":
print("可以进入")
else:
print("不能进入")

这里 is_admin 是 True,所以 Python 不会再执行右边的 input()

短路运算在实际开发中很常见,但初学阶段只需要知道:

and 和 or 不一定会计算所有条件。


十九、常见表达式类型
1. 字面量表达式

一个单独的值也可以是表达式。

10
"Python"
True

它们本身就能得到一个结果。


2. 变量表达式

一个变量也可以是表达式。

age
name
score

变量表达式的结果就是变量当前保存的值。


3. 算术表达式
price * count
(a + b) / 2

结果通常是数字。


4. 比较表达式
age >= 18
score == 100

结果是 True 或 False


5. 逻辑表达式
age >= 18and has_ticket
score >= 60or is_makeup_exam

结果也是 True 或 False


6. 函数调用表达式

函数调用也可以是表达式,因为它可能返回一个结果。

len("Python")
int("123")
input("请输入姓名:")

例子:

length = len("Python")
print(length)

输出:

6

这里 len("Python") 是表达式,它的结果是 6


二十、语句和表达式的区别

初学者有时会混淆表达式和语句。

可以这样简单区分:

表达式:能算出一个结果。
语句:完成一个操作。

例如:

10 + 20

这是表达式,结果是 30

x = 10 + 20

这是赋值语句,它把表达式 10 + 20 的结果赋值给变量 x

if x > 10:
print("大于 10")

这是条件语句,用来控制程序执行流程。

在教学中,不需要一开始讲得过于抽象,可以先让学生记住:

表达式通常能放在 print() 里面输出,因为它能算出一个值。

例如:

print(10 + 20)
print(age >= 18)
print(len("Python"))

二十一、不同类型之间的运算

Python 对不同数据类型之间的运算有一定规则。

1. 整数和浮点数运算

整数和浮点数可以一起做算术运算,结果通常是浮点数。

print(10 + 3.5)
print(10 * 2.0)

输出:

13.5
20.0

2. 字符串和字符串可以相加
print("Hello" + "Python")

输出:

HelloPython

如果想中间有空格:

print("Hello" + " " + "Python")

输出:

Hello Python

3. 字符串和数字不能直接相加

错误示例:

age = 18
print("年龄:" + age)

这会报错,因为字符串不能和整数直接拼接。

正确写法:

age = 18
print("年龄:" + str(age))

更推荐:

age = 18
print(f"年龄:{age}")

4. 字符串可以和整数相乘
print("Hi" * 3)

输出:

HiHiHi

但字符串不能和字符串相乘。

错误示例:

print("Hi" * "3")

如果数字来自 input(),要先转换:

times = int(input("请输入重复次数:"))
print("Hi" * times)

二十二、运算符使用中的常见错误
1. 把 = 和 == 混淆

错误示例:

age = 18
if age = 18:
print("年龄是 18")

问题:

if 条件中应该使用比较运算符 ==,不能使用赋值运算符 =

正确写法:

age = 18
if age == 18:
print("年龄是 18")

2. 忘记 input() 的结果是字符串

错误示例:

a = input("请输入第一个数:")
b = input("请输入第二个数:")
print(a + b)

用户输入:

10
20

输出:

1020

原因:

input() 得到的是字符串,+ 在字符串之间表示拼接。

正确写法:

a = int(input("请输入第一个数:"))
b = int(input("请输入第二个数:"))
print(a + b)

输出:

30

3. 除数为 0

错误示例:

print(10 / 0)

程序会报错,因为数学中不能除以 0。

可以在计算前判断:

b = int(input("请输入除数:"))
if b != 0:
print(10 / b)
else:
print("除数不能为 0")

4. 误以为 // 是四舍五入
print(5 // 2)

输出:

2

// 是整除,不是四舍五入。

如果要四舍五入,可以使用 round()

print(round(5 / 2))

输出:

2

再如:

print(round(7 / 2))

输出:

4

5. 逻辑条件写错

错误示例:

score = 85
if score >= 60or score <= 100:
print("成绩有效")

这段代码看起来像是判断成绩是否在 60 到 100 之间,但逻辑有问题。

因为很多数字都会满足其中一个条件。

比如 score = 150 时:

score >= 60

是 True,所以整个 or 表达式也是 True

正确写法:

score = 85
if score >= 60and score <= 100:
print("成绩有效")

也可以写成:

if60 <= score <= 100:
print("成绩有效")

6. 运算顺序理解错误
result = 2 + 3 * 4

结果是 14,不是 20

如果想先算加法,要写:

result = (2 + 3) * 4

建议学生:

不确定优先级时就加括号。


7. 用 is 判断普通值是否相等

不推荐:

a = 1000
b = 1000
if a is b:
print("相等")

普通值相等判断应使用 ==

推荐:

a = 1000
b = 1000
if a == b:
print("相等")

is 通常用于判断是否是 None

if result isNone:
print("没有结果")

二十三、教学中可以这样讲

可以用生活中的例子解释:

运算符像数学符号和判断词。

+ 表示加。
- 表示减。
> 表示大于。
and 表示并且。
or 表示或者。
in 表示在不在某个范围里。

表达式就像一句“可以得出结果的话”。

例如:

price * count

这句话能算出总价。

score >= 60

这句话能判断是否及格。

age >= 18and has_ticket

这句话能判断是否满足入场条件。

可以把表达式的结果分为两大类:

算出一个数,例如 10 + 20 的结果是 30
判断真假,例如 score >= 60 的结果是 True 或 False

二十四、综合示例
示例:学生成绩判断程序
name = input("请输入学生姓名:")
score = float(input("请输入学生成绩:"))
attendance = float(input("请输入出勤率:"))
if0 <= score <= 100and0 <= attendance <= 100:
if score >= 60and attendance >= 80:
print(f"{name}通过课程")
else:
print(f"{name}没有通过课程")
else:
print("成绩或出勤率输入无效")

这段代码中包含:

赋值运算符:=
比较运算符:<=>=
逻辑运算符:and
链式比较:0 <= score <= 100
表达式:score >= 60 and attendance >= 80
格式化输出:f"{name}通过课程"

可以带学生一步一步分析:

1.
输入姓名、成绩、出勤率。
2.
判断成绩和出勤率是否在有效范围内。
3.
如果有效,再判断是否达到通过条件。
4.
输出最终结果。

二十五、练习
练习 1:计算商品总价

请让用户输入商品单价和购买数量,计算总价。

参考答案:

price = float(input("请输入商品单价:"))
count = int(input("请输入购买数量:"))
total = price * count
print(f"商品总价是{total:.2f}元")

练习 2:判断奇偶数

请让用户输入一个整数,判断它是奇数还是偶数。

参考答案:

number = int(input("请输入一个整数:"))
if number % 2 == 0:
print("偶数")
else:
print("奇数")

练习 3:判断成绩是否有效

请让用户输入成绩,判断成绩是否在 0 到 100 之间。

参考答案:

score = float(input("请输入成绩:"))
if0 <= score <= 100:
print("成绩有效")
else:
print("成绩无效")

练习 4:判断是否可以入场

入场条件:

年龄大于等于 18。
并且有门票。

请写程序判断用户是否可以入场。

参考答案:

age = int(input("请输入年龄:"))
has_ticket = input("是否有门票?请输入 yes 或 no:")
if age >= 18and has_ticket == "yes":
print("可以入场")
else:
print("不能入场")

练习 5:判断用户名是否合法

禁止使用的用户名有:

["admin""root""test"]

请判断用户输入的用户名是否可以使用。

参考答案:

forbidden_names = ["admin""root""test"]
username = input("请输入用户名:")
if username notin forbidden_names:
print("用户名可以使用")
else:
print("用户名不能使用")

练习 6:分析表达式结果

请判断下面表达式的结果。

print(2 + 3 * 4)
print((2 + 3) * 4)
print(10 // 3)
print(10 % 3)
print(5 > 3and2 > 4)
print(5 > 3or2 > 4)

参考答案:

14
20
3
1
False
True

练习 7:修正错误代码

下面代码有什么问题?请改正。

age = input("请输入年龄:")
if age >= 18:
print("已成年")
else:
print("未成年")

参考答案:

问题是 input() 得到的是字符串,不能直接和整数 18 比较。

正确写法:

age = int(input("请输入年龄:"))
if age >= 18:
print("已成年")
else:
print("未成年")

练习 8:使用复合赋值计算总和

请使用循环和 += 计算 1 到 100 的和。

参考答案:

total = 0
for number inrange(1101):
    total += number
print(total)

输出:

5050

二十六、常见错误对照表
错误现象
常见原因
修改方法
if age = 18:
 报错
把赋值 = 当成比较 ==
条件判断中使用 ==
输入 10 和 20 得到 1020
input()
 得到字符串,+ 变成拼接
使用 int() 或 float() 转换
除法结果是 5.0
/
 的结果通常是浮点数
如果需要整数结果,按情况使用 //
5 // 2
 得到 2
//
 是整除,不是四舍五入
四舍五入可使用 round()
条件判断范围错误
and
 和 or 用错
范围判断通常用 and 或链式比较
字符串和数字相加报错
类型不同不能直接用 + 拼接
使用 str() 或 f-string
用 is 判断两个普通值
混淆了值相等和对象相同
普通相等判断使用 ==
表达式结果和预期不同
没有注意运算符优先级
使用小括号明确计算顺序

二十七、总结

运算符是 Python 中用来计算、赋值、比较和判断的符号或关键字。

表达式是能够计算出一个结果的代码。

本节需要重点掌握:

1.
算术运算符用于数学计算,例如 +-*///%**
2.
赋值运算符用于给变量保存数据,例如 =+=-=
3.
比较运算符用于比较两个值,结果是 True 或 False
4.
逻辑运算符用于组合多个条件,包括 andornot
5.
成员运算符用于判断某个值是否在序列中,包括 in 和 not in
6.
运算符有优先级,不确定时可以使用小括号。
7.
input() 得到的是字符串,参与数学运算前要转换类型。
8.
= 是赋值,== 才是判断相等。
运算符负责“怎么算、怎么比、怎么判断”,表达式负责“算出一个结果”。

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-08-22 01:58:14 HTTP/2.0 GET : https://f.mffb.com.cn/a/505040.html
  2. 运行时间 : 0.151847s [ 吞吐率:6.59req/s ] 内存消耗:5,405.81kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=f6c69afcdd8397e179a06841c82cea54
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000926s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001354s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000567s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000589s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001143s ]
  6. SELECT * FROM `set` [ RunTime:0.000471s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001160s ]
  8. SELECT * FROM `article` WHERE `id` = 505040 LIMIT 1 [ RunTime:0.001265s ]
  9. UPDATE `article` SET `lasttime` = 1787335094 WHERE `id` = 505040 [ RunTime:0.007635s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000263s ]
  11. SELECT * FROM `article` WHERE `id` < 505040 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000482s ]
  12. SELECT * FROM `article` WHERE `id` > 505040 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000410s ]
  13. SELECT * FROM `article` WHERE `id` < 505040 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000914s ]
  14. SELECT * FROM `article` WHERE `id` < 505040 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.002532s ]
  15. SELECT * FROM `article` WHERE `id` < 505040 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.001480s ]
0.153478s