当前位置:首页>python>每天学习一点Python——3个经典项目带你玩转数据分析

每天学习一点Python——3个经典项目带你玩转数据分析

  • 2026-02-05 00:45:56
每天学习一点Python——3个经典项目带你玩转数据分析

每天学习一点Python——3个经典项目带你玩转数据分析

大家好,今天我们通过3个非常有趣的Python项目来巩固下昨天学习的元组、列表与字典。

📊 项目一:大学统计数据分析

项目目标

分析大学数据,计算各种统计指标,让数据说话!

数据结构解析

# universities是一个列表,包含7个子列表
# 每个子列表代表一所大学,包含3个元素:[大学名称, 注册人数, 学费]

universities = [
    ['California Institute of Technology', 2175, 37704],
    ['Harvard', 19627, 39849],
    # ... 其他大学数据

]

变量解释:

  • • universities:主列表,存储所有大学数据
  • • 每个子列表索引:0=学校名,1=学生数,2=学费

核心函数详解

函数1:enrollment_stats(universities)

def enrollment_stats(universities):
    # enrollments变量:存储所有大学的注册人数

    # 使用列表推导式:从每所大学(uni)中取第2个元素(索引1)

    enrollments = [uni[1] for uni in universities]

    # tuitions变量:存储所有大学的学费

    # 从每所大学(uni)中取第3个元素(索引2)

    tuitions = [uni[2] for uni in universities]

    # 返回两个列表:注册人数列表和学费列表

    return
 enrollments, tuitions

参数说明:

  • • universities:传入的大学数据列表

返回值:

  • • 第一个值enrollments:所有大学的学生人数列表
  • • 第二个值tuitions:所有大学的学费列表
部分
数据类型
内容示例
enrollments
列表(list)
[2175, 19627, ...]
tuitions
列表(list)
[37704, 39849, ...]
return enrollments, tuitions
元组(tuple)
([2175, 19627, ...], [37704, 39849, ...])

注意: 只要用逗号分隔两个或多个值,Python就会自动将它们打包成一个元组。

函数2:mean(numbers) - 计算平均值

def mean(numbers):
    # 首先检查列表是否为空

    if
 not numbers:
        return
 0  # 如果空列表,返回0

    # 计算平均值 = 总和 ÷ 元素个数

    return
 sum(numbers) / len(numbers)

参数说明:

  • • numbers:需要计算平均值的数字列表

函数3:median(numbers) - 计算中位数

def median(numbers):
    # 检查空列表

    if
 not numbers:
        return
 0

    # sorted_nums:排序后的新列表(原列表不变)

    sorted_nums = sorted(numbers)

    # n:列表中元素的数量

    n = len(sorted_nums)

    # middle:中间位置的索引(整除//只取整数部分)

    middle = n // 2

    if
 n % 2 == 0:  # 如果元素个数是偶数
        # 中位数 = 中间两个数的平均值

        return
 (sorted_nums[middle - 1] + sorted_nums[middle]) / 2
    else
:  # 如果元素个数是奇数
        # 中位数 = 正中间的那个数

        return
 sorted_nums[middle]

数据处理流程

# 第1步:提取数据(元组解包)
# enrollments得到所有学生数:[2175, 19627, 10566, ...]

# tuitions得到所有学费:[37704, 39849, 40732, ...]

enrollments, tuitions = enrollment_stats(universities)

# 第2步:计算总和

total_students = sum(enrollments)  # 所有学生数相加
total_tuition = sum(tuitions)      # 所有学费相加

# 第3步:计算平均值和中位数

student_mean = mean(enrollments)    # 学生平均数
student_median = median(enrollments)# 学生数中位数
tuition_mean = mean(tuitions)       # 学费平均数
tuition_median = median(tuitions)   # 学费中位数

额外分析:找出最贵的大学

most_expensive = max(universities, key=lambda x: x[2])
print
(f"🏫 学费最贵的大学: {most_expensive[0]} (${most_expensive[2]:,})")

🔑 key=lambda x: x[2] 解释

作用: 告诉Python如何提取比较值

拆解:

  • • key=:比较的"依据"
  • • lambda:创建匿名函数
  • • x:代表universities中的每个子列表(如 ['Harvard', 19627, 39849]
  • • x[2]:取每个子列表的第3个元素(学费)

效果: "请按每个大学的学费进行比较"

执行逻辑

# Python内部处理步骤:
1.
 遍历 universities 中的每个大学(每个子列表)
2.
 对每个大学应用 lambda 函数提取学费(x[2])
3.
 比较所有大学的学费
4.
 找到学费最高的大学
5.
 返回该大学的完整信息(整个子列表)

🎮 项目二:州首府测验游戏

项目目标

创建一个交互式的地理知识测验游戏!

数据结构

# capitals_dict:字典类型,存储州名和对应首府
# 格式:{'州名': '首府', ...}

capitals_dict = {
    'Alabama'
: 'Montgomery',
    'Alaska'
: 'Juneau',
    'Arizona'
: 'Phoenix',
    # ... 更多州数据

}

核心函数解析

函数1:quiz_game()

def quiz_game():
    score = 0  # 得分:答对一题加1分
    questions_asked = 0  # 已提问问题数
    max_questions = 5  # 最多提问5题

    # list(capitals_dict.keys()):把字典的所有键转换成一个标准列表,只包含州名。

    states = list(capitals_dict.keys())

字典方法对比:

方法
得到什么
类型
示例
.keys()
所有键(州名)
列表
['Alabama', 'Alaska', ...]
.values()
所有值(首府)
列表
['Montgomery', 'Juneau', ...]
.items()
所有键值对
元组列表
[('Alabama','Montgomery'), ...]

游戏逻辑流程

while questions_asked < max_questions:  # 条件:还没问完5题
    state = random.choice(states)  # 随机选一个州
    correct_capital = capitals_dict[state]  # 根据州名查找对应首府(正确答案)
    attempts = 3  # 每道题最多尝试3次

    while
 attempts > 0:  # 还有尝试机会
        guess = input("你的答案: ").strip()  # 获取用户输入

        if
 guess.lower() == 'exit':  # 退出命令
            return

        elif
 guess.lower() == 'hint':  # 提示命令
            hint = correct_capital[0] + "*" * (len(correct_capital) - 1)
            attempts -= 1
            continue

        elif
 guess.lower() == correct_capital.lower():  # 回答正确
            score += 1
            break

        else
:  # 回答错误
            attempts -= 1

🎲 state = random.choice(states) 解释

功能: 随机选择一个州

效果:

states = ['Alabama', 'Alaska', 'Arizona', 'California']
state = random.choice(states)
# 可能得到:'Alaska'

# 或:'California'

# 或:'Alabama'  ← 每次运行结果不同
部分
作用
random.choice()
随机选择函数
states
州名列表
state
存储被选中的州名

注意: 必须导入 random 模块:import random

🔄 random.sample() 方法(不放回随机取多个元素)

功能: 随机选取多个不重复的元素

语法:random.sample(列表, 要选的数量)

与相关方法对比:

方法
特点
示例
random.choice()取1个
,可能重复多次取到相同元素
抽奖(每次独立)
random.sample()取多个
,保证不重复
抽多人(每人只能中一次)
random.choices()取多个
,可能重复(需指定k)
有放回抽样

函数2:practice_mode()

def practice_mode():
    while
 True:  # 无限循环,直到用户退出
        state_input = input("输入州名: ").strip()

        if
 state_input.lower() == 'quit':
            break
  # 退出循环

        # 检查州名是否在字典中

        if
 state_input in capitals_dict:
            print
(f"✅ {state_input} 的首府是: {capitals_dict[state_input]}")
        else
:
            print
(f"❌ 未找到州 '{state_input}',请检查拼写。")
            print
("可用州名:", ", ".join(sorted(capitals_dict.keys())))

📝 代码解释

 ", ".join(sorted(capitals_dict.keys()))

功能: 把州名列表变成好看的字符串

效果:

# 原始列表:['Alaska', 'Alabama', 'Arizona']
# 处理后:"Alabama, Alaska, Arizona"  ← 排序并用逗号分隔

代码拆解步骤:

  1. 1. capitals_dict.keys() - 获取所有键(州名)
  2. 2. sorted(...) - 按字母排序州名
  3. 3. ", ".join(...) - 用逗号+空格连接

🔄 .join() 方法详解:

列表 = ["苹果", "香蕉", "橙子"]
print
(",".join(列表))        # "苹果,香蕉,橙子"
print
(" | ".join(列表))      # "苹果 | 香蕉 | 橙子"
print
("\n".join(列表))       # 换行显示

🐱 项目三:戴帽子的猫(逻辑谜题)

问题理解

  • • 有100只猫排成一排
  • • 初始时都没有帽子
  • • 第1轮:每只猫都戴帽子(1的倍数)
  • • 第2轮:每隔1只猫操作(2的倍数)
  • • 第3轮:每隔2只猫操作(3的倍数)
  • • ...
  • • 第100轮:每隔99只猫操作(100的倍数)
  • • "操作":有帽子→摘掉,没帽子→戴上

核心函数解析

函数1:cat_hat_problem(num_cats)

def cat_hat_problem(num_cats=100):
    # 创建布尔值列表,表示100只猫的帽子状态

    # False = 没帽子,True = 有帽子

    cats = [False] * num_cats

    # 模拟100轮操作

    for
 round_num in range(1, num_cats + 1):
        # 遍历需要操作的猫

        for
 cat_index in range(round_num - 1, num_cats, round_num):
            # not cats[cat_index]:取反操作

            # True变False,False变True

            cats[cat_index] = not cats[cat_index]

    # 找出戴帽子的猫

    hatted_cats = [index + 1 for index, has_hat in enumerate(cats) if has_hat]

    return
 hatted_cats

📝 代码解释

 range(round_num - 1, num_cats, round_num)

功能: 从第round_num只猫(因为列表索引从0开始)开始,每隔round_num只猫,选取一只进行操作,直到处理完所有num_cats只猫。

📚 基本语法

range(起始值, 结束值, 步长)

📝 cats = [False] * num_cats 解释

功能: 创建全是 False 的列表

效果:

num_cats = 5
cats = [False] * num_cats
print
(cats)  # [False, False, False, False, False]

具体运行示例(简化版:6只猫)

# 初始状态:[猫1:无, 猫2:无, 猫3:无, 猫4:无, 猫5:无, 猫6:无]

# 第1轮:操作索引0,1,2,3,4,5 → 所有猫戴帽子

# 状态:[有, 有, 有, 有, 有, 有]


# 第2轮:操作索引1,3,5 → 猫2,4,6摘帽子

# 状态:[有, 无, 有, 无, 有, 无]


# 第3轮:操作索引2,5 → 猫3摘帽子,猫6戴帽子

# 状态:[有, 无, 无, 无, 有, 有]


# ...继续到第6轮

# 最终状态:[有, 无, 无, 有, 无, 无]

🔍 hatted_cats = [index + 1 for index, has_hat in enumerate(cats) if has_hat] 详解

这是 列表推导式 + enumerate() 的经典用法:

数据示例:

cats = [True, False, False, True, False, False]
# 对应:猫1有帽子, 猫2无, 猫3无, 猫4有, 猫5无, 猫6无

分解步骤:

  1. 1. enumerate(cats) - 得到:[(0,True), (1,False), (2,False), (3,True), (4,False), (5,False)]
  2. 2. for index, has_hat in enumerate(cats) - 遍历每个元组
  3. 3. if has_hat - 只保留有帽子的情况
  4. 4. index + 1 - 索引转猫编号(索引0→猫1)

💡 重要说明:
for index, has_hat in enumerate(cats) 中的 for 后面跟了两个参数,分别是 index 和 has_hat,它们对应的分别是 enumerate(cats) 返回的每个元组中的索引和值

等价写法:

# 写法1:列表推导式(简洁)
hatted_cats = [index + 1 for index, has_hat in enumerate(cats) if has_hat]

# 写法2:普通for循环

hatted_cats = []
for
 index in range(len(cats)):
    if
 cats[index]:
        hatted_cats.append(index + 1)

# 写法3:使用enumerate的for循环

hatted_cats = []
for
 index, has_hat in enumerate(cats):
    if
 has_hat:
        hatted_cats.append(index + 1)

可视化函数

def visualize_cats(num_cats=20):
    cats = [False] * num_cats  # 初始化20只猫

    for
 round_num in range(1, num_cats + 1):
        # 操作

        for
 cat_index in range(round_num - 1, num_cats, round_num):
            cats[cat_index] = not cats[cat_index]

        # 转换为表情符号:🎩表示有帽子,🐱表示没帽子

        status = ["🎩" if has_hat else "🐱" for has_hat in cats]

        # 显示状态

        print
(f"第{round_num:2d}轮: {' '.join(status)}")

💡 学习要点总结

  1. 1. 列表处理:学会了如何从复杂列表中提取数据
  2. 2. 函数设计:每个函数只做一件事,提高代码可读性
  3. 3. 字典应用:用键值对存储相关数据(州-首府)
  4. 4. 算法思维:通过模拟找到数学规律
  5. 5. 交互编程:让程序与用户对话

这三个项目从不同角度展示了Python的强大功能:数据分析、游戏开发和逻辑推理。建议你亲自运行并手动编写这些代码,尝试修改参数,看看会产生什么不同的结果。

请记住:编程最好的学习方法就是动手实践!遇到问题不要怕,多尝试、多修改,你会在实践中快速成长。


📦 资源获取提示

关注「码农自习室」,后台回复关键词 Python学习,即可获取本文完整代码,一起动手掌握高效编程的核心技巧!


❤️ 支持我们

如果觉得本文对你有帮助,欢迎点赞 + 关注,您的支持是我们持续创作优质内容的最大动力!


📚 学习资源说明

本文内容是基于《Python Basics: A Practical Introduction to Python 3》(Real Python)一书的学习笔记整理。
这本书是一本非常优秀的Python入门教材,推荐给所有想要系统学习Python的朋友们。

这本书的特点:

  • • ✅ 完全面向编程新手
  • • ✅ 每个概念都有代码示例
  • • ✅ 包含大量练习题
  • • ✅ 由经验丰富的Python开发者编写

跟着这本书学习,配合我的笔记整理,相信你能更快掌握Python编程!

让我们一起坚持学习,每天进步一点点!💪

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-02-07 17:05:16 HTTP/2.0 GET : https://f.mffb.com.cn/a/471335.html
  2. 运行时间 : 0.429563s [ 吞吐率:2.33req/s ] 内存消耗:4,499.47kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=ae77dd8bf2296f8a130fc6124fca0ff6
  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.000803s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000774s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.023322s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.016401s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000826s ]
  6. SELECT * FROM `set` [ RunTime:0.068216s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000766s ]
  8. SELECT * FROM `article` WHERE `id` = 471335 LIMIT 1 [ RunTime:0.029359s ]
  9. UPDATE `article` SET `lasttime` = 1770455116 WHERE `id` = 471335 [ RunTime:0.011018s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.008339s ]
  11. SELECT * FROM `article` WHERE `id` < 471335 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.003629s ]
  12. SELECT * FROM `article` WHERE `id` > 471335 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.038540s ]
  13. SELECT * FROM `article` WHERE `id` < 471335 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.022093s ]
  14. SELECT * FROM `article` WHERE `id` < 471335 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.013649s ]
  15. SELECT * FROM `article` WHERE `id` < 471335 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.033884s ]
0.433609s