当前位置:首页>python>30天精通Python语法 | Day7:吃透while循环语句,让程序帮你重复干活,彻底解放双手

30天精通Python语法 | Day7:吃透while循环语句,让程序帮你重复干活,彻底解放双手

  • 2026-07-01 08:33:12
30天精通Python语法 | Day7:吃透while循环语句,让程序帮你重复干活,彻底解放双手

本文为「30天吃透Python核心语法」系列第七篇,承接Day6的if条件语句内容,全程纯文字讲解、新手友好、无晦涩术语,每一个知识点都配可直接运行的代码示例,跟着练就能写出会重复执行、批量处理任务的实用代码。

大家好,欢迎来到30天Python精通计划的第七天。

Day6我们一起搞定了if条件语句,让程序拥有了“思考和选择的能力”,能根据不同条件走不同的逻辑分支,很多同学都在评论区完成了打卡,特别棒!

但这段时间我也收到了很多新手同学的留言:

- 我要打印100遍“好好学习Python”,难道要复制粘贴100次print语句吗?

- 我想计算1到100的累加和,总不能一个个数字手动加吧?

- 我想做一个猜数字游戏,用户猜不对就一直猜,猜对了才结束,这该怎么实现?

- 我想给用户3次输密码的机会,输错就锁定,不用写3遍重复的判断代码吧?

别慌,这些问题的答案,全在今天的内容里。

今天我们要学的while循环语句,就是专门解决「重复执行代码」这个核心需求的。如果说前六天的学习,让你的程序能做计算、会做判断,那今天学完循环,你的程序就真正能帮你“干活”了——所有重复、繁琐、机械的操作,都能交给循环一键搞定,彻底解放你的双手。

学完今天的内容,你将:

✅ 彻底搞懂while循环的核心逻辑,理解循环的完整执行流程

✅ 掌握while循环的基础语法,写出可稳定重复执行的代码

✅ 吃透循环三要素,从根源上避开新手最容易踩的死循环坑

✅ 学会break和continue两个关键字,灵活掌控循环的启停与跳转

✅ 掌握while循环3个经典实战场景,写出能解决实际问题的小脚本

✅ 为后续for循环、批量数据处理、办公自动化打下坚实地基

一、先搞懂:while循环的本质是什么?

用一句大白话讲,while循环的本质,就是我们日常说话的「只要...就一直...」逻辑:

只要满足某个条件,就一直重复执行同一段代码;直到条件不满足了,就停止重复,跳出循环,继续执行后面的代码。

它的核心价值,就是用几行代码,实现无数次的重复操作,彻底告别复制粘贴的机械劳动。

我们用一个最直观的例子对比,你就能瞬间明白它的用处:

没有循环的时候,你要打印5遍“好好学习Python”,只能这么写:

python  

# 没有循环,重复写5遍代码,要打印100遍就得写100行

print("好好学习Python")

print("好好学习Python")

print("好好学习Python")

print("好好学习Python")

print("好好学习Python")

有了while循环之后,代码就变成了这样:

python  

# 用while循环,3行代码就能实现无数次重复

i = 1

while i <= 5:

    print("好好学习Python")

    i += 1

哪怕你要打印100遍、1000遍,只需要把条件里的5改成100、1000就行,代码行数完全不变,效率直接拉满。

二、while循环的基础语法与执行流程

while循环的语法和我们Day6学的if语句高度相似,新手可以直接联动记忆,唯一的区别是:if的条件满足,代码只执行1次;while的条件满足,代码会一直重复执行,直到条件不满足为止。

1. 基础语法规则

while循环的语法结构非常固定,新手必须严格遵守,少一个符号、错一个缩进都会报错:

1. 第一行必须顶格写关键字 while ,后面跟循环条件(就是Day5学的,结果一定是True或False的表达式),行尾必须加英文冒号;

2. 第二行开始,必须缩进4个空格(或1个Tab键),所有缩进的代码统称为「循环体」,也就是要重复执行的内容;

3. 循环体执行完成后,会自动回到while开头,重新判断循环条件,开启下一轮循环。

2. 完整执行流程(新手必记!)

很多新手写循环逻辑混乱,核心是没搞懂循环的执行顺序,我把它拆解成4步,哪怕是零基础也能一眼看懂:

1. 初始判断:程序运行到while语句时,先计算循环条件的结果,判断是True还是False;

2. 条件为True:执行缩进里的循环体代码,一行一行全部执行完;

3. 循环校验:循环体执行完毕后,自动跳回while开头,重新计算循环条件的结果,再次判断;

4. 条件为False:直接跳过整个循环体,跳出循环,执行循环后面的非缩进代码。

简单总结:条件满足,就循环执行;条件不满足,就立刻结束循环。

3. 最简实操示例

我们用“打印1到5的数字”这个场景,带你完整走一遍循环流程,代码可以直接复制到PyCharm里运行:

python  

# 1. 定义循环变量初始值

i = 1

# 2. 循环条件:只要i小于等于5,就一直执行循环体

while i <= 5:

    # 3. 循环体:要重复执行的代码

    print(f"当前数字是:{i}")

    # 4. 循环变量更新:每次循环i加1,这是避免死循环的关键

    i += 1

# 循环结束后执行的代码

print("循环执行完毕")

我们一步步拆解它的执行过程:

- 初始i=1,判断1<=5为True,执行print打印1,i变成2;

- 回到while开头,判断2<=5为True,执行print打印2,i变成3;

- 重复这个过程,直到i变成6,判断6<=5为False,跳出循环,执行最后的print语句。

三、循环三要素:从根源上避开死循环,新手必背

很多新手写while循环,一运行就停不下来,电脑直接卡死,核心原因就是没凑齐循环三要素。

写一个能正常运行、不会出错的while循环,必须同时具备以下三个要素,缺一不可,新手一定要刻在脑子里:

1. 循环变量的初始值

循环变量就是我们用来控制循环次数、判断循环条件的变量,通常用 i 、 j 、 count 等命名,必须在while循环开始之前,先定义并赋初始值。

比如上面示例里的 i = 1 ,就是循环变量的初始值,没有这个初始值,while的条件就无法判断,会直接报变量未定义的错误。

2. 循环终止条件

就是while后面跟的条件表达式,它必须有一个能变成False的可能性,否则循环会永远执行下去,变成死循环。

比如上面示例里的 i <= 5 ,当i增加到6的时候,条件就会变成False,循环就有了终止的出口。

3. 循环变量的更新

这是三要素里最关键、新手最容易漏掉的一步。必须在循环体内部,更新循环变量的值,让它朝着“循环条件变成False”的方向变化。

比如上面示例里的 i += 1 ,每次循环都让i加1,i才会从1慢慢变成6,最终让条件不成立,终止循环。如果漏掉了这一行,i永远是1,条件永远是True,循环就永远不会停止。

四、循环控制关键字:break和continue,灵活掌控循环

学会了基础的while循环,我们只能控制“条件满足就循环,不满足就结束”,但实际场景里,我们经常需要更灵活的控制:比如循环过程中遇到特定情况,直接提前结束循环;或者遇到特定情况,跳过这一次循环,直接进入下一轮。

这就需要用到两个专门的循环控制关键字: break 和 continue ,下面我们逐个拆解清楚。

1. break:立刻终止整个循环

 break 的核心作用,就是立刻、彻底终止当前的整个while循环,哪怕循环条件还是True,只要执行到break,就会直接跳出循环,执行循环后面的代码,不会再进行下一轮循环。

它通常和if条件语句配合使用:在循环体里判断,如果满足某个特定条件,就执行break,提前结束循环。

我们用一个示例就能看懂:

python  

# 循环打印1到10,遇到数字5就立刻终止循环

i = 1

while i <= 10:

    # 如果i等于5,就执行break,终止整个循环

    if i == 5:

        print("遇到5了,循环终止")

        break

    print(f"当前数字是:{i}")

    # 循环变量更新

    i += 1

print("循环结束")

运行这段代码你会发现,程序只会打印1到4,当i变成5的时候,会触发if条件,执行break,直接跳出整个循环,不会再打印5到10,也不会继续循环了。

2. continue:跳过本次循环,进入下一轮

 continue 的核心作用,和break完全不同:它不会终止整个循环,只会跳过当前这一轮循环里,continue后面的所有代码,直接跳回while开头,重新判断条件,进入下一轮循环。

简单说就是:break是“彻底不干了,循环结束”,continue是“这次的活不干了,直接开始下一次”。

它同样和if条件语句配合使用,用来跳过不需要执行的场景。

我们用同一个场景做示例,对比break的区别:

python  

# 循环打印1到10,遇到数字5就跳过,不打印,其他数字正常输出

i = 1

while i <= 10:

    # 循环变量更新,必须放在continue前面,否则会触发死循环!

    i += 1

    # 如果i等于5,就执行continue,跳过后面的print,直接进入下一轮循环

    if i == 5:

        print("跳过数字5,不打印")

        continue

    print(f"当前数字是:{i}")

print("循环结束")

运行这段代码你会发现,程序会打印1到10的所有数字,唯独跳过了5,循环没有终止,一直执行到i=10,条件不满足才结束。

【新手避坑红线】使用continue的时候,必须把循环变量的更新代码,放在continue的前面。如果像之前一样把i +=1放在continue后面,当触发continue的时候,i的更新代码会被跳过,i永远不会变化,循环条件永远是True,直接变成死循环,这是新手用continue时100%会踩的坑。

五、while循环的头号杀手:死循环,新手必看避坑指南

死循环是while循环里最常见、也最让新手头疼的问题,很多同学一运行死循环,就慌得不知道怎么办。今天我们就彻底讲透死循环,让你知道它是什么、为什么会出现、怎么规避、遇到了怎么处理。

1. 什么是死循环?

死循环,就是循环条件永远为True,循环永远不会终止,会一直执行循环体里的代码,直到程序崩溃、电脑卡死,或者你手动终止程序。

2. 新手最容易写出死循环的3个原因

1. 漏掉了循环变量的更新

这是最常见的原因,比如写循环的时候,忘了在循环体里写 i +=1 ,循环变量永远是初始值,循环条件永远为True。

错误示例:

python  

# 死循环!永远不会停止

i = 1

while i <= 5:

    print(i)

    # 漏掉了i +=1,i永远是1,条件永远是True

2. 循环条件永远为True,没有退出出口

很多同学会写 while True: 这种无限循环的格式,但是循环体里没有加if条件+break作为退出出口,程序就会永远循环下去。

错误示例:

python  

# 死循环!没有退出出口

while True:

    print("我会一直打印")

    # 没有加break,永远不会停止

这里要补充一句: while True: 不是错误写法,反而在实际开发中非常常用,只要你在循环体里设置了合理的if条件+break作为退出出口,就是完全正确的写法,后面的实战案例里我们会用到。

3. 循环变量更新错误,朝着条件永远成立的方向变化

比如应该让循环变量加1,结果写成了减1,i从1开始,越变越小,永远满足 i <=5 的条件,变成死循环。

错误示例:

python  

# 死循环!循环变量更新错误

i = 1

while i <= 5:

    print(i)

    i -= 1  # i越变越小,永远满足i<=5

3. 遇到死循环怎么办?

新手遇到死循环不要慌,在PyCharm里,只需要点击下方控制台里的红色正方形停止按钮,就能立刻强制终止程序运行,不会对电脑造成任何伤害。

4. 怎么从根源上规避死循环?

1. 写循环之前,先把循环三要素写全,尤其是循环变量的更新;

2. 写 while True: 的时候,必须先想好退出条件,在循环体里加上if+break;

3. 不确定循环是否正常的时候,先在循环体里加print打印循环变量,看看它的变化是否符合预期,没问题再写完整的循环体。

六、while循环经典实战案例,学了就能用

光懂语法没用,能解决实际问题才是关键。下面我们用3个最经典、最实用的场景,带你把while循环的知识点融会贯通,代码可以直接复制运行,也可以自己修改参数练手。

案例1:经典计算——1到100的累加和

这是学循环必做的经典案例,核心是用循环实现累加,后续做数据统计、求和计算都能用到。

需求:计算1+2+3+...+100的总和,用while循环实现。

python  

# 循环三要素1:定义循环变量和累加变量

i = 1

sum_total = 0  # 用来存储累加的总和,初始值为0

# 循环三要素2:循环终止条件

while i <= 100:

    # 循环体:把当前的i加到总和里

    sum_total += i

    # 循环三要素3:更新循环变量

    i += 1

# 循环结束后,打印最终的总和

print(f"1到100的累加和是:{sum_total}")

案例2:趣味实战——猜数字小游戏

这个案例完美结合了while循环+if条件判断,还有break关键字,有趣又实用,能帮你彻底吃透循环的逻辑。

需求:程序随机生成一个1-100之间的数字,用户反复猜数字,程序提示“猜大了”或“猜小了”,直到用户猜对了,就恭喜用户并结束游戏。

python  

# 导入随机数模块,生成1-100之间的随机数字

import random

target_num = random.randint(1, 100)

print("欢迎来到猜数字小游戏!")

print("我已经生成了一个1-100之间的数字,快来猜猜看吧!")

# 用while True做无限循环,猜对了就用break退出

while True:

    # 获取用户输入的数字,转成整数类型

    user_guess = int(input("请输入你猜的数字:"))

    # 用if条件判断用户猜的结果

    if user_guess > target_num:

        print("猜大了!再往小了试试")

    elif user_guess < target_num:

        print("猜小了!再往大了试试")

    else:

        print(f"恭喜你!猜对了!正确数字就是{target_num}")

        # 猜对了,执行break,终止循环

        break

案例3:实用场景——用户密码重试锁定机制

这个案例是我们日常上网随处可见的场景,结合了之前学的账号密码判断,用while循环控制重试次数,非常贴合实际开发。

需求:用户有3次输入密码的机会,输入正确就打印“登录成功”并结束程序;输入错误就提示剩余次数;3次全部输错,就打印“密码错误次数过多,账号已锁定”并结束。

python  

# 设定正确的密码

correct_password = "123456"

# 循环三要素1:定义重试次数变量,初始值为3

try_count = 3

# 循环三要素2:循环条件,还有重试次数就继续循环

while try_count > 0:

    # 每次循环,先扣除1次重试机会

    try_count -= 1

    # 获取用户输入的密码

    user_input = input("请输入你的密码:")

    # 判断密码是否正确

    if user_input == correct_password:

        print("密码正确,登录成功!欢迎回来")

        # 登录成功,直接break终止循环

        break

    else:

        # 密码错误,判断还有没有剩余次数

        if try_count > 0:

            print(f"密码错误!你还有{try_count}次输入机会")

        else:

            print("密码错误次数过多,你的账号已被锁定")

七、新手高频踩坑避坑指南

这里整理了Day7学while循环时,新手100%会遇到的报错和逻辑问题,提前讲清原因和解决方法,帮你少走弯路。

1. 缩进错误:IndentationError

和if语句一样,循环体的代码必须缩进4个空格,同一层级的代码缩进必须完全一致,否则要么直接报错,要么循环逻辑完全混乱。解决方法:严格遵守缩进规则,循环体里的所有代码统一缩进4个空格,循环外的代码顶格写。

2. 死循环

这个前面重点讲过,核心原因就是循环三要素不全、循环变量更新错误、while True没有加break退出出口。解决方法:写循环先凑齐三要素,循环变量更新放在循环体最前面,用continue的时候格外注意不要跳过变量更新。

3. 循环条件边界写错,多执行一次或少执行一次

比如要计算1到100的和,把循环条件写成 i < 100 ,就会漏掉100,结果少加了100。解决方法:写循环条件的时候,想清楚边界值,比如要包含100,就必须写 i <= 100 ,不确定的话,先打印循环变量看看范围是否正确。

4. break和continue用混,逻辑不符合预期

很多新手想跳过一次循环,结果用了break,直接把整个循环终止了。解决方法:牢牢记住两个关键字的区别,想彻底结束循环用break,想跳过当前这一次、继续下一次用continue。

5. 循环变量在循环体里被重新赋值,导致逻辑混乱

比如在循环体里重新定义了i=1,导致循环变量每次都被重置,变成死循环。解决方法:循环控制变量不要在循环体里重新赋值,只做递增/递减的更新。

6. while语句结尾忘了加英文冒号,触发语法报错

和if语句一样,while、if、elif、else的行尾,必须加英文冒号,新手很容易漏掉或者写成中文冒号。解决方法:写完条件就顺手加冒号,写完代码先检查所有标点都是英文格式。

八、今日课后作业(必做!只看不敲,永远学不会)

编程是一门实操技能,只有动手敲代码,才能真正把循环逻辑刻进脑子里。今天的作业循序渐进,全部完成,才算真正吃透while循环。

1. 基础必做:用while循环打印1到20之间的所有偶数,每个数字单独占一行。

2. 进阶练习:用while循环计算1到100之间,所有奇数的累加和,打印最终的结果。

3. 挑战练习:完善用户密码验证程序,需求:正确的用户名是admin,正确的密码是666666;用户先输入用户名,用户名错误直接提示“该用户不存在”并结束程序;用户名正确再输入密码,有3次输入密码的机会,输入正确提示登录成功,输错提示剩余次数,3次全错提示账号锁定。

4. 习惯养成:严格遵守缩进规则,给循环的三要素、核心逻辑都加上清晰的单行注释,变量名做到见名知意。

九、明日预告

Day8我们将学习Python的for循环+range函数,这是比while循环更常用、更简洁的循环方式,专门用来遍历序列、批量处理数据。

学完明天的内容,你就能轻松遍历字符串、列表等数据,实现更高效的循环操作,对比while和for循环的适用场景,在不同的需求里选择最合适的循环方式,彻底搞定Python循环的核心内容。

结尾互动

今天的while循环语句,你都学会了吗?

完成作业的同学,可以在评论区扣个【打卡Day7】!

遇到任何报错、循环逻辑搞不懂的问题,都可以在评论区留言,我会一一解答。

关注我,跟着30天计划,从零开始,彻底精通Python核心语法,每天1.5小时,30天就能独立写Python脚本,搞定日常办公自动化!

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-03 11:15:37 HTTP/2.0 GET : https://f.mffb.com.cn/a/487519.html
  2. 运行时间 : 0.152770s [ 吞吐率:6.55req/s ] 内存消耗:4,777.63kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=ce2a2ece3d9265cd7d09aed52c5c0224
  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.000768s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001150s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000602s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000654s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001176s ]
  6. SELECT * FROM `set` [ RunTime:0.021779s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001476s ]
  8. SELECT * FROM `article` WHERE `id` = 487519 LIMIT 1 [ RunTime:0.002086s ]
  9. UPDATE `article` SET `lasttime` = 1783048537 WHERE `id` = 487519 [ RunTime:0.012286s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.004528s ]
  11. SELECT * FROM `article` WHERE `id` < 487519 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001232s ]
  12. SELECT * FROM `article` WHERE `id` > 487519 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001011s ]
  13. SELECT * FROM `article` WHERE `id` < 487519 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.008243s ]
  14. SELECT * FROM `article` WHERE `id` < 487519 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.006582s ]
  15. SELECT * FROM `article` WHERE `id` < 487519 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.003078s ]
0.156037s