当前位置:首页>python>第三十三期:Python函数和模块 --- 代码的"乐高积木"

第三十三期:Python函数和模块 --- 代码的"乐高积木"

  • 2026-07-02 12:01:01
第三十三期:Python函数和模块 --- 代码的"乐高积木"
文章合集

第三十三期:Python函数和模块 --- 代码的"乐高积木"

亲爱的家长朋友:

  还记得我们玩乐高积木的情景吗?一个个小小的积木块,可以拼出房子、汽车、甚至整个城市。在编程世界里,**函数**就是那个小小的积木块,而**模块**就是一整盒整理好的积木套装。

  今天,我们就来探索Python的"乐高世界",学习如何用函数和模块搭建出更强大、更灵活的程序。

🧱 函数:编程的"乐高积木块"

  在现实生活中,乐高积木有这些特点:
  - **标准化**:每个积木块都有固定的形状和接口
  - **可重复使用**:同一个积木块可以用在很多地方
  - **组合性**:多个积木块可以拼成更大的结构

  函数在编程中也有同样的特点。在第14-16期中,我们已经学过C语言的函数。Python的函数更加简单、灵活。

第一部分:函数的"积木块"世界

🎯 什么是函数?

孩子可以这样理解: 函数就像妈妈做饭时用的"菜谱": - 输入:食材(比如鸡蛋、面粉、糖) - 处理:按照步骤做(搅拌、烘烤) - 输出:做好的蛋糕

  这个"菜谱"可以反复使用,每次做出来的都是蛋糕。

第一个Python函数

# 定义一个打招呼的函数
defsay_hello(name):
"""这个函数会向指定的人问好"""
print(f"你好,{name}!欢迎来到Python世界!")

# 使用(调用)函数
say_hello("小明")
say_hello("小红")

运行结果

你好,小明!欢迎来到Python世界!
你好,小红!欢迎来到Python世界!

孩子可以这样理解def 就像给"菜谱"起个名字(say_hello),name 是需要的食材(参数), 大括号里的内容就是做菜的步骤。

📦 函数的"三要素"

每个函数都有三个重要部分:

  1. 1. 函数名:积木块的标签,告诉我们这个积木是什么
  2. 2. 参数:输入的材料,可以是0个、1个或多个
  3. 3. 返回值:制作出来的成果
# 带参数的函数
defadd_numbers(a, b):
"""计算两个数字的和"""
return a + b

# 使用函数
result = add_numbers(53)
print(f"5 + 3 = {result}")  # 输出:5 + 3 = 8

🎨 函数的四种形式

Python函数有四种常见形式,就像四种不同的积木块:

# 形式1:无参数无返回值(最简单的积木块)
defgreet():
print("你好,世界!")

# 形式2:有参数无返回值
defgreet_person(name):
print(f"你好,{name}!")

# 形式3:无参数有返回值
defget_current_time():
import datetime
return datetime.datetime.now()

# 形式4:有参数有返回值(最常用的积木块)
defcalculate_area(length, width):
return length * width

第二部分:模块的"乐高套装"

🧰 什么是模块?

孩子可以这样理解: 模块就像一整盒乐高主题套装: - 基础模块:Python自带的,比如math(数学工具)、random(随机工具) - 第三方模块:别人设计好的精美套装,需要另外购买(安装) - 自定义模块:自己整理的一盒积木

🎲 使用内置模块

Python自带了很多有用的模块,就像乐高的"基础套装":

# 使用math模块(数学工具)
import math

print(f"圆周率π的值是:{math.pi}")
print(f"9的平方根是:{math.sqrt(9)}")
print(f"3.2向上取整:{math.ceil(3.2)}")
print(f"3.8向下取整:{math.floor(3.8)}")

# 使用random模块(随机工具)
import random

print(f"随机整数(1-10):{random.randint(110)}")
print(f"随机小数(0-1):{random.random()}")

🔧 模块的多种导入方式

就像从积木盒里拿积木有不同方式:

# 方式1:导入整个模块(把整盒积木都拿出来)
import math
result = math.sqrt(16)

# 方式2:导入特定函数(只拿需要的几个积木块)
from math import sqrt, pi
result = sqrt(16)

# 方式3:给模块起别名(给积木盒贴个标签)
import numpy as np  # 数据分析常用的做法
import pandas as pd

# 方式4:导入所有函数(不推荐,容易混乱)
from math import *  # 把所有积木都倒出来,可能会找不到

第三部分:动手试一试

🎮 练习1:函数计算器

让我们用函数做一个智能计算器:

defadd(x, y):
return x + y

defsubtract(x, y):
return x - y

defmultiply(x, y):
return x * y

defdivide(x, y):
if y != 0:
return x / y
else:
return"错误:除数不能为0!"

# 主程序
print("🧮 智能计算器")
print("1. 加法")
print("2. 减法")
print("3. 乘法")
print("4. 除法")

choice = input("请选择操作(1-4):")
num1 = float(input("请输入第一个数字:"))
num2 = float(input("请输入第二个数字:"))

if choice == '1':
    result = add(num1, num2)
print(f"{num1} + {num2} = {result}")
elif choice == '2':
    result = subtract(num1, num2)
print(f"{num1} - {num2} = {result}")
elif choice == '3':
    result = multiply(num1, num2)
print(f"{num1} × {num2} = {result}")
elif choice == '4':
    result = divide(num1, num2)
print(f"{num1} ÷ {num2} = {result}")
else:
print("无效的选择!")

运行示例

🧮 智能计算器
1. 加法
2. 减法
3. 乘法
4. 除法
请选择操作(1-4):3
请输入第一个数字:5
请输入第二个数字:6
5.0 × 6.0 = 30.0

🎲 练习2:幸运大抽奖

用random模块做一个抽奖程序:

import random

deflottery_draw(participants):
"""从参与者中随机抽取幸运者"""
ifnot participants:
return"没有参与者,无法抽奖!"

    winner = random.choice(participants)
returnf"🎉 恭喜 {winner} 中奖了!"

defmultiple_winners(participants, num_winners):
"""抽取多个获奖者"""
iflen(participants) < num_winners:
return"参与者太少,无法抽取这么多获奖者!"

    winners = random.sample(participants, num_winners)
returnf"🎊 获奖者是:{', '.join(winners)}"

# 主程序
print("🎯 幸运大抽奖")
participants = ["小明""小红""小刚""小丽""小强""小芳""小华""小美"]

print(f"参与者:{participants}")
print("\n抽奖开始!")

# 抽取一个幸运儿
print(lottery_draw(participants))

# 抽取三个获奖者
print(multiple_winners(participants, 3))

📊 练习3:成绩分析系统

综合运用函数和math模块:

import math

defcalculate_average(scores):
"""计算平均分"""
returnsum(scores) / len(scores)

deffind_max_min(scores):
"""找出最高分和最低分"""
returnmax(scores), min(scores)

defcalculate_standard_deviation(scores):
"""计算标准差(看看分数分散程度)"""
    avg = calculate_average(scores)
    variance = sum((x - avg) ** 2for x in scores) / len(scores)
return math.sqrt(variance)

defgrade_distribution(scores):
"""统计各个等级的人数"""
    distribution = {"优秀"0"良好"0"及格"0"不及格"0}

for score in scores:
if score >= 90:
            distribution["优秀"] += 1
elif score >= 75:
            distribution["良好"] += 1
elif score >= 60:
            distribution["及格"] += 1
else:
            distribution["不及格"] += 1

return distribution

# 主程序
print("📊 成绩分析系统")
scores = [85927864958872608193]

print(f"原始成绩:{scores}")
print(f"平均分:{calculate_average(scores):.2f}")

max_score, min_score = find_max_min(scores)
print(f"最高分:{max_score},最低分:{min_score}")

print(f"标准差:{calculate_standard_deviation(scores):.2f}")

print("📈 成绩分布:")
for grade, count in grade_distribution(scores).items():
print(f"  {grade}{count}人")

第四部分:创建自己的模块

🛠️ 自定义模块:我的"工具套装"

就像整理自己的乐高积木盒,我们也可以创建自己的模块:

步骤1:创建模块文件创建一个文件 my_tools.py,内容如下:

# my_tools.py - 我的自定义工具模块

defwelcome_message(name):
"""生成个性化的欢迎消息"""
returnf"✨ 欢迎 {name} 使用我的工具包!"

defis_even(number):
"""判断数字是否是偶数"""
return number % 2 == 0

defstring_reverse(text):
"""反转字符串"""
return text[::-1]

deffibonacci(n):
"""生成斐波那契数列"""
    sequence = [01]
for i inrange(2, n):
        sequence.append(sequence[i-1] + sequence[i-2])
return sequence[:n]

步骤2:使用自定义模块在另一个文件中使用这个模块:

# main.py - 主程序文件
import my_tools

print(my_tools.welcome_message("小明"))

print(f"8是偶数吗?{my_tools.is_even(8)}")
print(f"7是偶数吗?{my_tools.is_even(7)}")

print(f"反转'Python':{my_tools.string_reverse('Python')}")

print(f"前10个斐波那契数:{my_tools.fibonacci(10)}")

第五部分:函数和模块的最佳实践

✅ 好函数的5个特征

  1. 1. 单一职责:一个函数只做一件事(就像一个积木块只有一个功能)
  2. 2. 好名字:函数名要能说明功能(calculate_areafunc1好)
  3. 3. 适当长度:函数不要太长,一般不超过20-30行
  4. 4. 清晰注释:用注释说明函数做什么、参数是什么、返回什么
  5. 5. 错误处理:考虑可能出错的情况(比如除数为0)

🚫 常见的"坑"和解决方法

问题1:忘记return语句

# ❌ 错误写法
defadd(a, b):
    a + b  # 没有return!

result = add(35)  # result会是None

# ✅ 正确写法
defadd(a, b):
return a + b

问题2:修改了可变参数

# ❌ 可能有问题
defadd_to_list(items, new_item):
    items.append(new_item)  # 修改了原始列表!
return items

my_list = [123]
new_list = add_to_list(my_list, 4)
print(my_list)  # [1, 2, 3, 4] 原列表被改了!

# ✅ 更好的写法
defadd_to_list(items, new_item):
    new_list = items.copy()  # 创建副本
    new_list.append(new_item)
return new_list

问题3:导入循环

# ❌ 错误:模块a导入模块b,模块b又导入模块a
# module_a.py
import module_b

# module_b.py
import module_a  # 循环导入!

# ✅ 解决方案:重新组织代码结构

第六部分:给家长的4个辅导建议

1. 用"乐高思维"引导孩子

生活中的函数思维

  • • 做三明治的步骤 → 一个"做三明治"的函数
  • • 整理书包的流程 → 一个"整理书包"的函数
  • • 洗手的步骤 → 一个"洗手"的函数

让孩子把日常任务写成"函数菜谱",培养分解问题的能力。

2. 从"模仿"到"创造"

学习路径

  1. 1. 模仿阶段:运行现成的代码,修改参数看变化
  2. 2. 修改阶段:改造成自己的版本(比如改颜色、改名字)
  3. 3. 创造阶段:自己设计全新的函数和模块

就像玩乐高:先按说明书拼,然后改造,最后自己设计。

3. 把bug变成"侦探游戏"

当程序出错时:

  1. 1. 别急着给答案:问孩子"你觉得问题出在哪里?"
  2. 2. 缩小范围:用print()在关键位置打印变量值
  3. 3. 一步一步检查:从输入开始,检查每一步的结果

把调试变成侦探破案,培养解决问题的能力。

4. 鼓励"代码复用"

当孩子写了一个好用的函数:

  • • “这个函数还能用在什么地方?”
  • • “能不能做成一个工具,以后随时可以用?”
  • • “要不要分享给朋友一起用?”

培养"不重复造轮子"的思维。

第七部分:常见问题解答

🤔 孩子问:函数和模块有什么区别?

简单回答

  • • 函数:像单个的乐高积木块,完成一个具体任务
  • • 模块:像一整盒乐高积木,包含很多相关的函数

更详细的比喻: 函数像是厨房里的一把刀(切菜专用), 模块像是整个刀具套装(包含切菜刀、水果刀、面包刀等)。

🤔 孩子问:为什么要用函数?直接把代码写在一起不行吗?

用生活比喻: 想象你要做一顿大餐:

  • • 不用函数:每次做菜都把步骤重写一遍,混乱又容易出错
  • • 用函数:把"煮饭"、“炒菜”、"做汤"写成函数菜谱,清晰又高效

技术原因

  1. 1. 减少重复:同样代码不用写多次
  2. 2. 方便维护:修改时只改一个地方
  3. 3. 提高可读性:看函数名就知道做什么
  4. 4. 便于测试:可以单独测试每个函数

🤔 孩子问:Python的模块和C语言的库有什么区别?

对比回答

  • • 相似点:都是别人写好的代码,我们可以直接使用
  • • 不同点
    • ◦ C语言的库:需要编译、链接,比较麻烦
    • ◦ Python的模块:直接import就能用,非常简单

就像:

  • • C语言库:需要自己组装的家具(要工具、要时间)
  • • Python模块:已经组装好的家具(拆箱就能用)

🤔 孩子问:什么时候该自己写函数,什么时候该用模块?

决策树

  1. 1. 任务很简单 → 直接写代码
  2. 2. 任务重复出现 → 写成函数
  3. 3. 很多相关函数 → 整理成模块
  4. 4. 别人已经写好了 → 直接用现有模块

经验法则: 同一个代码出现3次以上,就应该考虑写成函数。

第八部分:编程挑战

🏆 挑战:小小游戏开发工具箱

任务:创建一个游戏开发工具箱模块,包含常用的游戏功能。

要求实现的功能

  1. 1. roll_dice(sides=6):模拟掷骰子
  2. 2. flip_coin():模拟抛硬币
  3. 3. random_name():随机生成游戏角色名字
  4. 4. calculate_damage(attack, defense):计算游戏伤害
  5. 5. create_character(name, health=100):创建游戏角色

示例代码框架

# game_tools.py
import random

defroll_dice(sides=6):
# 你的代码在这里
pass

defflip_coin():
# 你的代码在这里
pass

# 其他函数...

# 测试代码
if __name__ == "__main__":
print(f"掷骰子:{roll_dice()}")
print(f"抛硬币:{flip_coin()}")

扩展挑战

  1. 1. 增加更多的游戏功能
  2. 2. 为函数添加详细的文档字符串
  3. 3. 创建一个使用这个工具箱的小游戏

第九部分:下期预告

📖 第34期:Python面向对象编程——类和对象的魔法

预告内容: 在C++中我们已经学过类和对象(第24-27期),Python也有自己的面向对象特性,而且更加灵活!

下期重点

  1. 1. Python类基础:定义第一个Python类
  2. 2. 继承和多态:Python的"家族树"
  3. 3. 特殊方法__init____str__等魔法方法
  4. 4. 趣味项目:创建动物园管理系统(Python版)

为什么重要: 面向对象是现代编程的核心思想,掌握了它,孩子就能理解大多数软件是如何组织的。

家长可以提前准备: 和孩子一起观察生活中的"类"和"对象":

  • • 类:汽车的设计图纸
  • • 对象:你家实际开的汽车
  • • 类:手机的型号设计
  • • 对象:你手里拿的手机

🌟 本期总结

函数和模块是Python编程的基石,就像乐高积木是创意建筑的基础。通过今天的学习:

✅ 我们学会了如何定义和使用函数
✅ 我们掌握了模块的导入和使用方法
✅ 我们创建了自己的第一个模块
✅ 我们把知识应用到实际项目中

记住编程最重要的不是记住所有语法,而是解决问题的思维。函数思维——把大问题拆成小问题,模块思维——把相关工具整理在一起,这些思维模式会让孩子受益终身。

如果您觉得这篇文章有帮助,欢迎点赞、转发,让更多家长看到! 有问题想交流?欢迎在评论区留言! 关注我们,一起陪伴孩子走进编程的世界!

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-03 21:43:38 HTTP/2.0 GET : https://f.mffb.com.cn/a/487607.html
  2. 运行时间 : 0.141887s [ 吞吐率:7.05req/s ] 内存消耗:4,646.47kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=9ea9d2839695cca92d2bd57fa58c5623
  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.000934s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000797s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000322s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000279s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000469s ]
  6. SELECT * FROM `set` [ RunTime:0.000250s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000578s ]
  8. SELECT * FROM `article` WHERE `id` = 487607 LIMIT 1 [ RunTime:0.004228s ]
  9. UPDATE `article` SET `lasttime` = 1783086218 WHERE `id` = 487607 [ RunTime:0.023048s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000433s ]
  11. SELECT * FROM `article` WHERE `id` < 487607 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000648s ]
  12. SELECT * FROM `article` WHERE `id` > 487607 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.002735s ]
  13. SELECT * FROM `article` WHERE `id` < 487607 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000791s ]
  14. SELECT * FROM `article` WHERE `id` < 487607 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.001487s ]
  15. SELECT * FROM `article` WHERE `id` < 487607 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.003897s ]
0.143534s