当前位置:首页>python>《Python 从入门到精通》023 | 嵌套判断:复杂逻辑是怎么一层层实现的

《Python 从入门到精通》023 | 嵌套判断:复杂逻辑是怎么一层层实现的

  • 2026-06-28 17:02:18
《Python 从入门到精通》023 | 嵌套判断:复杂逻辑是怎么一层层实现的

这一篇会让读者真正感受到,程序里的判断不是只能平着写,有时候还会一层套一层。很多看起来稍微复杂一点的业务逻辑,本质上就是这样搭出来的。

前面你已经学会了两种很重要的判断方式。

一种是最基础的 if。 满足条件,就执行。

另一种是 if...elif...else。 多个条件里,选一个最合适的结果。

可真实程序里,很多判断还会再复杂一点。

比如:

如果用户已经登录, 再判断他是不是管理员。

如果成绩及格了, 再判断是不是优秀。

如果商品有库存, 再判断余额够不够。

你会发现,这类逻辑不是并排展开的, 而是先判断第一层, 进入以后,再判断第二层。

这就是今天要讲的内容:

嵌套判断。

你可以先记住一句最核心的话:

嵌套判断,就是在判断里面继续判断。

一、什么是嵌套判断

先说最直白的理解。

所谓嵌套判断,就是一个 if 代码块里面,又出现了新的 if

比如:

age = 20if age >= 18:    print('你已经成年')if age >= 60:        print('你是老年人')

这里就出现了两层判断。

第一层先判断:

年龄是不是大于等于 18

只有这个条件成立, 程序才会进入里面。

进入里面以后, 再判断第二层:

年龄是不是大于等于 60

这就叫嵌套判断。

它不是两个独立判断, 而是“在一个判断内部,再继续判断”。

二、为什么需要嵌套判断

因为很多场景本来就是分层的。

比如你去商场买东西,程序可能要这样判断:

先判断商品有没有库存 如果有库存,再判断你余额够不够 如果余额够,再判断你是不是会员 如果是会员,再给你折扣

你会发现,这不是一个平面判断。 而是一步一步往里走的。

再比如一个学生成绩系统:

先判断是否及格 如果及格,再判断是不是优秀 如果优秀,再判断是不是满分

这些逻辑天然就有层级感。

所以嵌套判断的价值就在这里:

它能把“先过第一关,再进第二关”的逻辑写出来。

三、先看一个最简单的嵌套判断例子

下面这个例子特别适合入门。

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

你可以自己试几组输入。

输入 95,结果会是:

成绩及格成绩优秀

输入 75,结果会是:

成绩及格

输入 40,结果则什么都不会输出。

为什么会这样。

因为程序是这样走的:

先看第一层,score >= 60 成立吗 如果不成立,整个里面都不进 如果成立,先打印“成绩及格”

然后再看第二层,score >= 90 成立吗 如果成立,再打印“成绩优秀” 如果不成立,就结束

这就是最基础的嵌套判断流程。

四、把嵌套判断翻译成人话,你会更容易懂

还是刚才这段代码:

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

你可以直接翻译成:

如果成绩及格, 就先告诉你及格了。 并且在这个前提下,再看看你是不是优秀。

你会发现,嵌套判断其实一点都不神秘。 它只是把现实里的分层思路写出来而已。

也就是说:

第一层判断决定你能不能进门 第二层判断决定你进门以后属于哪种情况

五、嵌套判断最关键的,不是 if 多写一个,而是层级

很多新手第一次看到嵌套判断时,会觉得:

不就是多写了一个 if 吗

表面上确实是。 但真正关键的不是“多一个 if”, 而是它写在谁里面。

来看这两段代码。

第一段,两个独立 if

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

第二段,嵌套判断:

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

在这个例子里,它们结果看起来差不多。 但逻辑含义并不完全一样。

第一段是两个平行判断。 第二段是先及格,再在及格基础上继续判断优秀。

也就是说,嵌套判断更强调“第二层依赖第一层”。

这个思路以后会越来越重要。

六、嵌套判断特别依赖缩进

因为 Python 本来就是靠缩进表示层级。 一旦进入嵌套判断,缩进会变得更加重要。

比如:

age = 20if age >= 18:    print('你已经成年')if age >= 60:        print('你是老年人')

这里第二个 if 比第一个 if 里面的普通语句还要再缩进到同一层。 这就表示:

第二个 if 属于第一个 if 的内部。

如果你缩进写乱了,逻辑就会变。

比如下面这种:

age = 20if age >= 18:    print('你已经成年')if age >= 60:    print('你是老年人')

这就不是嵌套了, 而是两个独立判断。

所以嵌套判断里,缩进不是装饰, 而是结构本身。

七、先做一个“登录后再判断身份”的练习

这个例子特别像真实业务逻辑。

is_login = Trueis_admin = Falseif is_login:    print('用户已登录')if is_admin:        print('欢迎管理员')

程序逻辑是:

先看用户是否已登录 只有登录了,才有必要继续判断是不是管理员

如果连登录都没有, 后面管理员判断就没有意义。

这就是嵌套判断很典型的使用方式:

先判断大前提 大前提成立后,再判断更细的条件

你也可以自己改几个值试试:

is_login = Falseis_admin = True

看看输出会发生什么变化。

八、嵌套判断很适合“先筛一层,再细分一层”的场景

这是个非常实用的理解方式。

比如:

先判断是否成年 再判断是不是老年人

先判断是否及格 再判断是不是优秀

先判断是否有库存 再判断是否有余额

先判断是否登录 再判断是不是管理员

你会发现,嵌套判断不是为了炫技, 而是因为很多问题本来就带着筛选结构。

先通过一个大条件, 再在通过的人里面继续分。

这种逻辑用嵌套写,特别自然。

九、自己动手做一个年龄分层判断

这个练习很适合现在做。

age = int(input('请输入年龄:'))if age >= 18:    print('你已经成年')if age >= 60:        print('你属于老年阶段')

你可以输入:

15 25 65

观察结果。

输入 15,什么都不输出。 输入 25,只输出成年。 输入 65,输出成年和老年阶段。

这非常能体现嵌套判断的层级关系。

十、嵌套判断和 if...elif...else 可以一起用

这一点很重要,因为真实程序经常会混合使用。

比如:

先判断是否及格 如果及格了,再判断是优秀还是普通及格 如果没及格,就直接输出不及格

代码可以这样写:

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

这段代码就把嵌套和 else 结合起来了。

它的逻辑特别清楚:

第一层先看及不及格 及格了,再分优秀和普通 没及格,直接走外层 else

这种写法特别值得你练。

十一、要学会分清“这个 else 是配谁的”

这是嵌套判断里新手最容易乱掉的地方。

比如下面这段:

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

这里有两个 else

第一个内层 else,配的是:

if score >= 90:

第二个外层 else,配的是:

if score >= 60:

你怎么判断它们各自配谁。

看缩进。

谁和哪个 if 对齐, 它就是那个 if 的 else

所以你以后看嵌套判断时,一定不要只看字。 一定要看缩进层级。

十二、先做一个“购物资格”嵌套练习

这个特别贴近实际。

stock = int(input('请输入库存:'))money = float(input('请输入余额:'))price = float(input('请输入商品价格:'))if stock > 0:    print('商品有库存')if money >= price:        print('余额充足,可以购买')

这个程序的逻辑非常自然:

先看商品有没有库存 如果没有库存,后面根本不用谈买不买 如果有库存,再看余额是否足够

这就是嵌套判断很适合的典型场景。

你可以试试下面几组输入:

库存 10,余额 100,价格 50 库存 10,余额 20,价格 50 库存 0,余额 100,价格 50

看看结果如何变化。

十三、嵌套判断和多个条件并排写,怎么选

这是个特别好的问题。

有些逻辑,你既可以写成嵌套, 也可以写成逻辑运算组合。

比如刚才那个购买资格例子, 你也可以写成:

if stock > 0and money >= price:    print('可以购买')

这当然没错。 而且更短。

那为什么还要学嵌套判断。

因为嵌套判断更适合“过程分层”的表达。

比如你想先告诉用户:

商品有库存

然后再告诉他:

余额是否足够

这种场景下,嵌套更清楚。

所以你可以这样理解:

如果你只关心最后一个整体结果, 有时逻辑运算更简洁。

如果你想表达一个分步骤、分层次的判断过程, 嵌套判断更自然。

十四、不要把所有复杂判断都硬写成一行

很多新手一学到逻辑运算,就特别想把所有条件都塞一行。

比如:

if age >= 18and score >= 60and money >= 100and name == '小明':

这样不是不能写, 但一旦逻辑再复杂一点,读起来会非常累。

而嵌套判断有一个好处:

它能把判断拆成一层层的步骤。

比如:

if age >= 18:if score >= 60:if money >= 100:            print('满足条件')

虽然代码更长, 但逻辑反而更清晰。

对新手来说,当前阶段宁可稍微长一点, 也要先把思路写清楚。

十五、嵌套不要太深,太深会很难读

这个现在先给你一个意识就够了。

嵌套判断是很有用, 但如果你一层套一层,套到四五层,代码就会开始变得很难看。

比如这种:

if 条件1:if 条件2:if 条件3:if 条件4:                print('...')

这就很容易让人看晕。

所以嵌套判断虽然要学, 但也要知道它是有代价的。

你现在先学会两层嵌套最重要。 后面等你学更多写法,再慢慢学怎么把复杂逻辑写得更优雅。

十六、自己动手做一个“先登录再看权限”的小程序

这个练习特别值得做。

username = input('请输入用户名:')password = input('请输入密码:')role = input('请输入身份:')if username == 'admin':if password == '123456':        print('登录成功')if role == '管理员':            print('欢迎进入后台系统')

这个例子的逻辑是:

先看用户名对不对 用户名对了,再看密码对不对 密码对了,再看身份是不是管理员

这就是非常标准的“层层通过”的嵌套结构。

你可以自己换几组输入试试, 感受一下程序是怎么一层一层往里走的。

十七、嵌套判断里,内层条件不会自己执行

这一点一定要形成直觉。

比如:

score = 40if score >= 60:    print('成绩及格')if score >= 90:        print('成绩优秀')

这里虽然 score >= 90 本身也是一个条件, 但它根本没机会单独执行。

因为外层 score >= 60 都没成立, 程序就不会进入里面。

所以你一定要明白:

内层判断不是独立运行的 它的前提是外层先放行

这也是为什么嵌套判断强调层级,而不是只是多写几个 if

十八、再做一个“输入账号后判断会员等级”的练习

这个也很适合公众号读者自己练。

is_login = input('是否已登录,输入 yes 或 no:')level = input('请输入会员等级:')if is_login == 'yes':    print('登录成功')if level == '黄金':        print('享受 8 折优惠')elif level == '白银':        print('享受 9 折优惠')else:        print('享受普通会员优惠')

这个例子很有代表性。 因为它是外层 if,里面又套了一个 if...elif...else

这正是很多真实程序很常见的写法。

先判断能不能进入下一步 进入后,再做更细的分类

十九、嵌套判断最容易犯的几个错误

第一个错误,缩进写乱。

这会直接导致层级错乱, 最常见的结果就是逻辑和你想的不一样,或者直接报错。

第二个错误,分不清内层 else 和外层 else 对应谁。

这个一定靠缩进看, 谁和哪个 if 对齐,它就属于谁。

第三个错误,把本来独立的条件硬写成嵌套。

不是所有多条件都适合嵌套。 如果两个判断本来互不依赖,写成两个独立 if 反而更清楚。

第四个错误,嵌套太深,自己都看不懂。

你现在先练两层最合适。 别一上来就写特别深的结构。

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

第一个,成绩分层练习。

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

第二个,购物资格练习。

stock = int(input('请输入库存:'))money = float(input('请输入余额:'))price = float(input('请输入价格:'))if stock > 0:    print('商品有库存')if money >= price:        print('可以购买')

第三个,登录权限练习。

is_login = Trueis_admin = Falseif is_login:    print('用户已登录')if is_admin:        print('欢迎管理员')

这三个练习类型不同, 但都非常能帮助你建立嵌套判断的直觉。

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

下面这个练习特别适合做今天的收尾。

需求:

输入学生姓名和成绩 如果成绩及格,输出及格 如果成绩及格且大于等于 90,输出优秀 如果不及格,输出不及格

代码如下:

name = input('请输入姓名:')score = int(input('请输入成绩:'))if score >= 60:    print(f'{name},你已及格')if score >= 90:        print(f'{name},你的成绩很优秀')else:        print(f'{name},继续保持')else:    print(f'{name},你还没有及格')

你可以分别输入:

95 75 40

对照结果看程序怎么一层层做判断。

这个例子特别好, 因为它同时包含了:

外层 if...else内层 if...else

层级感会非常明显。

二十二、写在最后

嵌套判断看起来比普通 if 复杂一点, 但它并不是更难的概念。 它只是让程序学会:

第一步判断以后, 在这个结果基础上,再继续判断下一步。

说到底,它很像现实生活里的决策过程。

先看你有没有资格进入下一步 进去了,再看你属于哪一类 再根据这一类,做下一层处理

很多稍微复杂一点的程序, 其实都是这样一层层搭起来的。

所以你现在学的,不只是一个语法技巧。 你是在学程序如何把复杂逻辑拆成一层层可执行的步骤。

这一步特别关键。

本文小结

嵌套判断就是在一个判断里面继续写新的判断。 它特别适合“先过第一层,再判断第二层”的场景。 嵌套判断最关键的是层级,而层级在 Python 里靠缩进表示。 内层判断不是独立运行的,必须在外层条件成立后才会执行。 嵌套判断可以和 if...elif...else 结合使用。 学习嵌套判断最重要的,不是多写一个 if,而是形成“分层决策”的思维。

下篇预告

第 24 篇,我们正式进入循环的第一步。

while 循环入门:让程序重复执行任务

到那一篇,你会真正看到,程序是怎么把“重复做一件事”这件事自动化的。

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-03 20:35:17 HTTP/2.0 GET : https://f.mffb.com.cn/a/486870.html
  2. 运行时间 : 0.194258s [ 吞吐率:5.15req/s ] 内存消耗:4,468.52kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=39c4d54c9715987b2286c365d877aef3
  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.000441s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000611s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000303s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.005297s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000557s ]
  6. SELECT * FROM `set` [ RunTime:0.013938s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001015s ]
  8. SELECT * FROM `article` WHERE `id` = 486870 LIMIT 1 [ RunTime:0.026996s ]
  9. UPDATE `article` SET `lasttime` = 1783082117 WHERE `id` = 486870 [ RunTime:0.019912s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.004292s ]
  11. SELECT * FROM `article` WHERE `id` < 486870 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001693s ]
  12. SELECT * FROM `article` WHERE `id` > 486870 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000440s ]
  13. SELECT * FROM `article` WHERE `id` < 486870 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000677s ]
  14. SELECT * FROM `article` WHERE `id` < 486870 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.023915s ]
  15. SELECT * FROM `article` WHERE `id` < 486870 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.012998s ]
0.196931s