当前位置:首页>python>《Python 从入门到精通》022 | if...elif...else:多条件判断怎么写更清晰

《Python 从入门到精通》022 | if...elif...else:多条件判断怎么写更清晰

  • 2026-04-28 20:49:41
《Python 从入门到精通》022 | if...elif...else:多条件判断怎么写更清晰

这一篇非常关键,因为真实程序里,很多时候不是只有“满足”或者“不满足”两种情况,而是会出现很多种不同分支。

上一篇你已经学会了最基础的 if

也就是:

如果条件成立,就执行某段代码。

比如:

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

这类判断很好理解。 可你很快就会发现,真实场景往往不只一种结果。

比如成绩判断,不只是及格和不及格。 还可能有:

90 分以上,优秀 80 分以上,良好 60 分以上,及格 60 分以下,不及格

再比如年龄判断,也不只是成年和未成年。 还可能有:

6 岁以下,幼儿 6 到 17 岁,未成年 18 到 59 岁,成年人 60 岁及以上,老年人

这时候,单纯一个 if 就不够用了。 因为你要面对的是多个条件、多个分支。

这时就要轮到今天的主角上场了:

if...elif...else

这一篇,我们就把多条件判断彻底讲清楚。

一、为什么要学 if...elif...else

先想一个特别现实的问题。

假设你要写一个程序,根据分数给出评价。

如果你只会最基础的 if,那你可能会想这样写:

score = int(input('请输入成绩:'))if score >= 90:    print('优秀')if score >= 80:    print('良好')if score >= 60:    print('及格')

看起来好像没问题。 但如果用户输入 95,会发生什么。

程序会输出:

优秀良好及格

这显然不太对。 因为 95 分应该只属于“优秀”,不应该后面又冒出“良好”和“及格”。

这就说明,多个条件之间,有时候不是彼此独立的。 而是“只要命中一个,就不要再继续往下判断”。

这就是 if...elif...else 的用武之地。

二、if...elif...else 到底是什么

你可以先把它理解成一句很朴素的话:

如果这个条件成立,就做这件事。 否则如果另一个条件成立,就做另一件事。 如果前面都不成立,就做最后那件事。

它的基本结构长这样:

if 条件1:    条件1成立时执行的代码elif 条件2:    条件2成立时执行的代码else:    前面条件都不成立时执行的代码

这里有三个关键词:

if表示第一个判断

elif表示“否则如果”

else表示“否则”

你现在先不用急着背。 先把它翻译成人话:

如果…… 否则如果…… 否则……

一旦翻成这个思路,逻辑就会顺很多。

三、先看一个最基础的完整例子

还是用分数判断最直观。

score = int(input('请输入成绩:'))if score >= 90:    print('优秀')elif score >= 60:    print('及格')else:    print('不及格')

这段代码的意思是:

如果分数大于等于 90,就输出优秀 否则如果分数大于等于 60,就输出及格 否则就输出不及格

你可以自己试三组输入:

95 75 40

对应结果分别会是:

优秀及格不及格

这个例子特别值得你反复体会。 因为从这一刻开始,程序已经不只是会判断一个条件了, 它会在多种可能中选一种最合适的结果。

四、elif 到底是什么意思

很多新手第一次看到 elif 会觉得有点怪。

其实你完全可以把它拆开理解:

else if

只不过 Python 里把它合成了一个单词:

elif

它的意思就是:

如果前面的 if 不成立,那我再来判断这个条件。

所以它不是和 if 平行同时判断的。 它有一个重要前提:

前面的条件没命中,才轮到它。

这一点特别关键。 因为这正是 if...elif...else 和多个独立 if 的最大区别。

五、多个独立 if 和 if...elif...else 有什么本质区别

这个问题一定要讲透。

先看多个独立 if

score = 95if score >= 90:    print('优秀')if score >= 80:    print('良好')if score >= 60:    print('及格')

这里三个 if 是独立的。 所以只要各自条件成立,就都会执行。

而下面这种:

score = 95if score >= 90:    print('优秀')elif score >= 80:    print('良好')elif score >= 60:    print('及格')else:    print('不及格')

它们不是独立的。 它是一整组判断链。

一旦前面有一个条件成立了, 后面的 elif 和 else 就不会再执行。

所以你一定要区分清楚:

多个 if适合彼此独立、可以同时成立的条件

if...elif...else适合多选一、命中一个就停的条件

六、为什么多条件判断通常更适合 if...elif...else

因为很多分类场景,本来就是互斥的。

比如成绩等级:

优秀 良好 及格 不及格

一个分数不可能同时属于这四个等级。 所以最合适的写法,就是 if...elif...else

再比如年龄分类:

儿童 青少年 成年人 老年人

一个年龄也只会落进其中一个区间。

所以你以后看到这种场景:

一组条件里,最终只应该选一个结果

就要优先想到:

if...elif...else

七、先做一个最典型的成绩等级判断

这个例子你一定要亲手敲。

score = int(input('请输入成绩:'))if score >= 90:    print('成绩等级:优秀')elif score >= 80:    print('成绩等级:良好')elif score >= 60:    print('成绩等级:及格')else:    print('成绩等级:不及格')

你可以输入几组数据看看:

95 85 70 40

观察一下结果是不是只会输出一种等级。

这个例子非常重要, 因为它几乎是理解 elif 最经典的入门场景。

八、判断顺序为什么特别重要

这一点非常关键。

比如刚才那个成绩判断,如果你写成这样:

score = int(input('请输入成绩:'))if score >= 60:    print('及格')elif score >= 80:    print('良好')elif score >= 90:    print('优秀')else:    print('不及格')

看起来也有 if...elif...else。 但逻辑其实已经错了。

为什么。

因为如果输入 95,程序会先判断:

score >= 60 成立吗

答案是成立。 那程序立刻输出“及格”,然后整组判断结束。 后面的 80、90 再也不会看了。

所以结果就错了。

这说明什么。

说明多条件判断时,顺序特别重要。 一般来说,要把要求更高、范围更小的条件放前面。

也就是:

先判断 90 再判断 80 再判断 60

而不是反过来。

九、一个特别实用的原则:范围大的条件通常放后面

比如成绩判断里:

score >= 90 范围最小score >= 80 范围更大score >= 60 范围更大

所以正确顺序应该是:

if score >= 90:elif score >= 80:elif score >= 60:else:

同样道理,年龄分类也一样。

比如:

60 岁及以上 18 到 59 岁 6 到 17 岁 6 岁以下

你通常要先判断更明确、更高的边界, 这样逻辑才不会互相覆盖。

这个原则你后面会越用越多。

十、else 到底有什么用

else 的作用就是:

当前面所有条件都不成立时,执行最后这个兜底分支。

你可以把它理解成:

前面都不是,那就走这里。

比如:

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

这里 else 特别自然。 如果及格条件成立,就输出及格。 否则,就输出不及格。

在多条件里也是一样。

if score >= 90:    print('优秀')elif score >= 80:    print('良好')elif score >= 60:    print('及格')else:    print('不及格')

这里 else 就表示:

前面优秀、良好、及格都不满足, 那就只能是不及格了。

所以 else 经常像一个“收尾兜底”。

十一、else 不是必须的,但很多时候很有用

你可以只写:

if 条件:    ...elif 条件:    ...

不一定非要有 else

比如:

age = int(input('请输入年龄:'))if age >= 18:    print('你已经成年')elif age >= 12:    print('你是青少年')

这段代码是合法的。

只是如果用户输入 8, 程序就不会输出任何内容。

所以:

else 不是语法必须 但如果你希望“前面都不满足时也有个结果”, 那它就很有价值。

对新手来说,很多分类问题都建议带上 else, 这样程序更完整,也更容易理解。

十二、if...elif...else 是从上往下判断的

这个执行顺序你一定要刻进脑子里。

程序不会一下子把所有条件都同时看完。 它是按顺序一条一条往下看。

比如:

score = 85if score >= 90:    print('优秀')elif score >= 80:    print('良好')elif score >= 60:    print('及格')else:    print('不及格')

程序会先看:

第一条,score >= 90 成立吗 不成立,那继续往下

第二条,score >= 80 成立吗 成立,于是输出“良好”,然后停止整组判断

后面的 elif score >= 60 和 else 就都不再看了。

所以你以后读这类代码时, 脑子里一定要有“从上往下,命中即停”的感觉。

十三、自己动手做一个年龄分类练习

这个练习特别适合现在做。

age = int(input('请输入年龄:'))if age >= 60:    print('老年人')elif age >= 18:    print('成年人')elif age >= 6:    print('未成年人')else:    print('幼儿')

你可以输入几组数据:

65 25 12 3

看输出分别是什么。

这个例子很有代表性, 因为它不是简单的“是或不是”, 而是真正开始做区间分类了。

十四、字符串判断也可以写成多分支

别以为 if...elif...else 只能配合数字。

字符串也完全可以。

比如根据不同用户名,输出不同欢迎语:

name = input('请输入姓名:')if name == '小明':    print('欢迎你,小明')elif name == '小红':    print('欢迎你,小红')elif name == '老师':    print('老师您好')else:    print('欢迎你,陌生朋友')

这个程序就很典型。

它在多个可能值里, 根据输入内容选择一个最合适的分支。

这说明:

if...elif...else 不是只看数字大小 它本质上是在处理“多个可能中的选择问题”

十五、if...elif...else 和布尔变量也可以结合起来

比如前面你学过把判断结果先保存成变量。

现在也可以这么写:

score = int(input('请输入成绩:'))is_excellent = score >= 90is_good = score >= 80is_pass = score >= 60if is_excellent:    print('优秀')elif is_good:    print('良好')elif is_pass:    print('及格')else:    print('不及格')

虽然这个例子里直接写条件可能更短, 但这种先拆成布尔变量的写法, 在条件变复杂时会非常清楚。

对新手来说,这种写法特别适合训练“把条件想清楚”的能力。

十六、不要一看到 elif 就害怕,它本质上只是“否则如果”

这个地方我想单独强调一下。

有些人第一次学到 elif, 会下意识觉得它比 if 难很多。

其实不是。

你完全可以把下面这段:

if 条件1:    ...elif 条件2:    ...else:    ...

直接翻译成:

如果条件1成立,就…… 否则如果条件2成立,就…… 否则,就……

一旦这么翻译,逻辑其实特别自然。 它并不复杂,只是多了几条可能路线而已。

十七、先别急着写太复杂,最重要的是先把“多选一”感觉练出来

现阶段你最该练的,不是超复杂业务判断。 而是这种感觉:

这几个条件中,最终只应该走一条

比如:

根据分数选一个等级 根据年龄选一个阶段 根据身份选一种欢迎语 根据库存状态选一种提示

这些都属于最典型的“多选一”。

而 if...elif...else 正是专门干这个的。

你只要先把这种感觉练稳, 后面写复杂程序时,就不会乱得太厉害。

十八、实操,做一个天气提示小程序

这个例子简单但很实用。

weather = input('请输入天气:')if weather == '晴天':    print('适合出门')elif weather == '下雨':    print('记得带伞')elif weather == '下雪':    print('注意保暖')else:    print('祝你今天一切顺利')

这个程序特别适合用来体会:

字符串输入 多分支判断 兜底 else

你可以自己多输入几种天气试试。 看看程序是不是总能选出一条合适的输出。

十九、实操,做一个会员折扣提示程序

这个例子也很像真实业务。

level = input('请输入会员等级:')if level == '黄金':    print('享受 8 折优惠')elif level == '白银':    print('享受 9 折优惠')elif level == '普通':    print('享受 95 折优惠')else:    print('当前无会员折扣')

你可以输入:

黄金 白银 普通 游客

观察结果。

这个例子特别能帮助你理解: 程序是如何在多个可能中,匹配一个对应结果的。

二十、if...elif...else 最容易犯的几个错误

第一个错误,条件顺序写反了。

比如先写 score >= 60,后写 score >= 90。 这样高分就会先被低门槛条件截走。

第二个错误,漏掉冒号。

错误写法:

if score >= 90    print('优秀')

正确写法:

if score >= 90:    print('优秀')

第三个错误,缩进不一致。

比如 if 下面缩了 4 个空格,elif 下面缩得乱七八糟, 很容易报错。

第四个错误,把 elif 当成独立 if 使用思路去理解。

一定要记住,elif 的前提是前面的条件没命中。 它不是平行同时执行的。

第五个错误,觉得 else 一定要有。

不是。 它很常用,但不是强制。

二十一、今天一定要亲手完成的 3 个练习

第一个,成绩等级判断。

score = int(input('请输入成绩:'))if score >= 90:    print('优秀')elif score >= 80:    print('良好')elif score >= 60:    print('及格')else:    print('不及格')

第二个,年龄分类判断。

age = int(input('请输入年龄:'))if age >= 60:    print('老年人')elif age >= 18:    print('成年人')elif age >= 6:    print('未成年人')else:    print('幼儿')

第三个,字符串多分支判断。

role = input('请输入你的身份:')if role == '学生':    print('欢迎进入学生系统')elif role == '老师':    print('欢迎进入教师系统')elif role == '管理员':    print('欢迎进入后台管理系统')else:    print('身份未识别')

这三个练习类型不同, 正好能帮你把数字分类和字符串分类都练到。

二十二、再做一个综合小练习

下面这个例子很适合作为今天的综合练习。

需求:

输入姓名和成绩 根据成绩输出等级评价

代码如下:

name = input('请输入姓名:')score = int(input('请输入成绩:'))if score >= 90:    print(f'{name},你的等级是优秀')elif score >= 80:    print(f'{name},你的等级是良好')elif score >= 60:    print(f'{name},你的等级是及格')else:    print(f'{name},你的等级是不及格')

这个小程序特别适合公众号读者自己去改。

比如你可以继续加一个分支:

100 分,满分表现

if score == 100:    print(f'{name},你考了满分')elif score >= 90:    print(f'{name},你的等级是优秀')...

这类改造练习特别有价值, 因为你开始不只是照抄,而是在真正操控判断逻辑。

二十三、写在最后

从 if 到 if...elif...else, 看起来只是多学了两个单词。

但程序能力其实往前迈了一大步。

因为最基础的 if 只是让程序学会:

满足条件,就执行

而 if...elif...else 则让程序学会:

在多个可能里,选出最合适的那个

这就已经非常接近真实程序逻辑了。

现实世界里的很多规则,本来就不是“是或不是”那么简单。 往往是很多种情况并存。 而程序能不能写得像样, 很大程度上就取决于你能不能把这些情况整理清楚,再用多分支判断表达出来。

你现在学的,不只是一个语法升级。 你是在学程序如何做更像样的选择。

本文小结

if...elif...else 适合处理多条件、多分支、只选一个结果的场景。elif 的意思是“否则如果”。else 表示前面条件都不成立时执行的兜底分支。 这组判断是从上往下执行的,一旦命中一个分支,后面就不会再判断。 多条件判断时,条件顺序特别重要,通常要把范围更小、要求更高的条件放前面。 学习这一部分最关键的,不只是记格式,而是形成“多选一”的判断思维。

下篇预告

第 23 篇,我们继续把判断能力往前推进。

嵌套判断:复杂逻辑是怎么一层层实现的

到那一篇,你会看到,当一个判断里面还需要继续判断时,程序是怎么一层一层把逻辑搭出来的。

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-04-29 22:07:30 HTTP/2.0 GET : https://f.mffb.com.cn/a/486583.html
  2. 运行时间 : 0.097799s [ 吞吐率:10.23req/s ] 内存消耗:4,731.05kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=643bf30d3c7ba0ff25cab429aa40b167
  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.000654s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000766s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000341s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000274s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000489s ]
  6. SELECT * FROM `set` [ RunTime:0.000190s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000565s ]
  8. SELECT * FROM `article` WHERE `id` = 486583 LIMIT 1 [ RunTime:0.000539s ]
  9. UPDATE `article` SET `lasttime` = 1777471650 WHERE `id` = 486583 [ RunTime:0.008470s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.001418s ]
  11. SELECT * FROM `article` WHERE `id` < 486583 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000489s ]
  12. SELECT * FROM `article` WHERE `id` > 486583 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000401s ]
  13. SELECT * FROM `article` WHERE `id` < 486583 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000705s ]
  14. SELECT * FROM `article` WHERE `id` < 486583 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.007746s ]
  15. SELECT * FROM `article` WHERE `id` < 486583 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.000917s ]
0.099420s