当前位置:首页>python>python从基础到AI-科学计算三件套-numpy

python从基础到AI-科学计算三件套-numpy

  • 2026-01-22 15:03:45
python从基础到AI-科学计算三件套-numpy
点击蓝字,立即关注
如果您对人工智能方面的分享感兴趣,欢迎您关注,我们的公众号:
已经完成的读书笔记,如您感兴趣,请移步,往期文章精选:
python机器学习读书笔记导航
《LangChain实战派》读书笔记-目录
《基于大模型的RAG应用开发与优化》读书笔记-导航
如果您对在家做菜也有兴趣,欢迎您关注我们的联合公众号:

写在前面

这是一个新系列的文章,从python基础到AI应用,从基础变成语言到算法使用。不讲原理,只讲用法。
每次留下一个小问题,并在下一次文章开头进行解答。
本系列文章内容,全部由AI来写。

目录

  • 引言
  • 上期作业解答
  • NumPy:高效科学计算的基石
    • 动手实践
    • 总结
    • 附录

    引言

    在上一篇文章中,我们深入探讨了面向对象编程的封装与多态。现在,我们将开启一个新的重要篇章:科学计算。无论是数据分析、机器学习还是工程仿真,高效处理数值数据都是核心能力。广为流传的数据计算三件套他们是numpy\pandas\matplotlib。

    NumPy(Numerical Python)库 正是Python科学计算生态的基石。它提供了强大的多维数组对象和一系列高级数学函数,是学习Pandas、SciPy、Scikit-learn等库的必经之路。

    本文将从基础概念讲起,带你快速掌握NumPy的核心用法。

    上期作业解答

    上期作业要求创建一个 Employee 抽象基类,以及 Developer 和 Manager 两个子类,体现封装、继承和多态。以下是简洁的代码实现。

    from abc import ABC, abstractmethod

    # 1. 抽象基类 Employee
    classEmployee(ABC):
    def__init__(self, name, base_salary):
            self._name = name          # 封装:使用受保护属性
            self._base_salary = base_salary

        @property
    defname(self):
    return self._name

        @abstractmethod
    defcalculate_salary(self):    # 多态:统一接口
    pass

    # 2. 子类 Developer
    classDeveloper(Employee):
    def__init__(self, name, base_salary, bonus):
    super().__init__(name, base_salary)
            self._bonus = bonus        # 封装

    defcalculate_salary(self):    # 多态:具体实现
    return self._base_salary + self._bonus

    # 3. 子类 Manager
    classManager(Employee):
    def__init__(self, name, base_salary, team_bonus):
    super().__init__(name, base_salary)
            self._team_bonus = team_bonus  # 封装

    defcalculate_salary(self):    # 多态:具体实现
    return self._base_salary + self._team_bonus * 1.5

    # 通关测试代码
    if __name__ == "__main__":
        dev = Developer("张三"100002000)
        mgr = Manager("李四"150003000)

        employees = [dev, mgr]
    for emp in employees:
    print(f"{emp.name} 的薪资是:{emp.calculate_salary()}元")

    输出结果:

    张三 的薪资是:12000元
    李四 的薪资是:19500.0元

    代码解析:此实现通过抽象基类定义统一接口,子类继承并实现具体逻辑,同时属性被良好封装,完美体现了面向对象的三大特性。

    NumPy:高效科学计算的基石

    矩阵与数组:理解ndarray

    NumPy的核心是 ndarray(N维数组) 对象。它与Python列表有本质区别:

    • 存储效率
      列表存储的是对象的引用,类型可以不同;NumPy数组存储同质数据块,内存连续,访问速度快。
    • 性能
      NumPy底层由C语言实现,支持向量化操作,避免显式循环,计算效率极高。

    创建数组

    import numpy as np

    # 从列表创建
    arr1 = np.array([12345])
    print(arr1)  # 输出: [1 2 3 4 5]

    # 创建特殊数组
    zeros_arr = np.zeros((34))       # 3行4列的全0数组
    ones_arr = np.ones((23))         # 2行3列的全1数组
    range_arr = np.arange(0102)    # 类似range,生成 [0 2 4 6 8]
    random_arr = np.random.rand(22)  # 2x2的随机数组(0~1)

    数组属性

    arr2 = np.array([[123], [456]])
    print("形状(shape):", arr2.shape)   # 输出: (2, 3)
    print("数据类型(dtype):", arr2.dtype) # 输出: int64 (取决于系统)
    print("维度(ndim):", arr2.ndim)      # 输出: 2

    NumPy的核心特性与基本操作

    1. 向量化操作

    无需循环即可对整个数组执行运算。

    a = np.array([123])
    b = np.array([456])
    print(a + b)  # 输出: [5 7 9]
    print(a * 2)  # 输出: [2 4 6]

    2. 广播机制

    允许不同形状的数组进行算术运算。

    arr = np.array([[123], [456]])
    print(arr + 10)  # 标量10被广播到整个数组
    # 输出:
    # [[11 12 13]
    #  [14 15 16]]

    3. 索引与切片

    与列表类似,但支持多维。

    arr = np.array([[123], [456], [789]])
    print(arr[01])     # 输出: 2 (第0行第1列)
    print(arr[1:, :2])   # 输出: [[4 5] [7 8]] (第1行到最后,每行的前2列)

    4. 形状变换

    arr = np.arange(12)
    reshaped = arr.reshape(34)  # 改为3行4列的二维数组
    print(reshaped)

    5. 数组拼接与分割

    a = np.array([[12], [34]])
    b = np.array([[56], [78]])

    # 垂直拼接 (沿行方向 axis=0)
    v_stack = np.vstack((a, b))
    # 水平拼接 (沿列方向 axis=1)
    h_stack = np.hstack((a, b))

    arr = np.arange(10)
    split_arr = np.split(arr, [37])  # 在索引3和7处分割,得到3个子数组

    必备的NumPy常用函数

    数学统计函数

    arr = np.array([52819])
    print("总和:", np.sum(arr))      # 25
    print("均值:", np.mean(arr))     # 5.0
    print("标准差:", np.std(arr))    # 约 3.162
    print("最小值:", np.min(arr))    # 1
    print("最大值:", np.max(arr))    # 9

    # 可指定轴,对多维数组的某维度进行计算
    arr2d = np.array([[12], [34]])
    print("每列的和:", np.sum(arr2d, axis=0))  # 输出: [4 6]

    随机数生成

    # 生成0~1之间的均匀分布随机数
    rand_uniform = np.random.rand(32)
    # 生成标准正态分布随机数
    rand_normal = np.random.randn(32)
    # 生成指定范围的随机整数
    rand_int = np.random.randint(1100, size=(5,)) # 5个1到99的整数

    线性代数函数

    a = np.array([[12], [34]])
    b = np.array([[56], [78]])

    # 矩阵点积
    dot_product = np.dot(a, b)
    # 或使用 @ 运算符
    dot_product_alt = a @ b

    print(dot_product)
    # 输出:
    # [[19 22]
    #  [43 50]]

    实战:NumPy在简单数据分析中的应用

    假设我们有一组学生的成绩数据,包含一些缺失值。

    import numpy as np

    # 模拟数据:5个学生,3门课程成绩,NaN代表缺失
    scores = np.array([
        [8590, np.nan],
        [78, np.nan, 92],
        [np.nan, 8885],
        [908588],
        [929195]
    ])

    print("原始数据:\n", scores)

    # 1. 处理缺失值:用该列的平均值填充
    col_means = np.nanmean(scores, axis=0)  # 忽略NaN计算列均值
    print("各列均值:", col_means)

    # 找到NaN的位置,并用对应列的均值填充
    scores_filled = scores.copy()
    for col inrange(scores.shape[1]):
        nan_indices = np.isnan(scores_filled[:, col])
        scores_filled[nan_indices, col] = col_means[col]

    print("填充后数据:\n", scores_filled)

    # 2. 数据筛选:找出第一门课成绩大于85的学生
    good_at_first = scores_filled[scores_filled[:, 0] > 85]
    print("第一门课>85的学生成绩:\n", good_at_first)

    # 3. 计算统计指标:每位学生的平均分
    student_avg = np.mean(scores_filled, axis=1)
    print("每位学生的平均分:", student_avg)
    print("全班最高平均分:", np.max(student_avg))
    print("全班最低平均分:", np.min(student_avg))

    案例小结:这个简单的例子展示了NumPy在数据清洗、筛选和基本统计分析中的应用,这些操作是更复杂数据分析的基础。

    动手实践:巩固NumPy技能

    请完成以下作业,所有任务仅使用本文介绍的知识即可完成。

    作业任务

    任务一:数组创建与属性

    1. 创建一个形状为 (4, 5) 的二维数组,其中所有元素均为数字 7
    2. 创建一个从 20 到 80(包含80),步长为 5 的一维数组。
    3. 打印出第二个数组的 shapedtype 和 ndim 属性。

    任务二:数组操作与计算

    1. 将任务一中创建的 (4, 5) 数组,通过形状变换,转换为一个 (10, 2) 的新数组。
    2. 给定两个一维数组 p = np.array([2, 4, 6]) 和 q = np.array([1, 3, 5])不显式使用循环,计算这两个数组对应元素的乘积之和(即点积 2*1 + 4*3 + 6*5)。
    3. 生成一个包含10个随机整数的数组,随机数范围在 [50, 100) 之间,并计算其平均值标准差

    任务三:简单数据分析

    1. 模拟数据
      :创建一个 5行3列 的数组,代表5位销售员连续3个月的销售额(单位:万元)。数据自拟,但请确保包含至少一个 np.nan 代表缺失数据。
    2. 计算平均销售额
      :计算每位销售员3个月的平均销售额(忽略NaN)。提示:使用 np.nanmean 并指定轴。
    3. 筛选优秀销售员
      :找出所有月份销售额都超过 15 万元的销售员的行索引。

    提交要求

    请将你的代码和对应的输出结果一并提交。你可以将代码写在一个Python脚本文件中,并附上运行结果的截图或文本。

    示例输出(仅供参考格式)

    任务1.2 数组属性:
    形状: (13,)
    数据类型: int64
    维度: 1

    任务2.2 点积结果: 44

    任务3.2 平均销售额: [18.5  nan 22.0 19.0 25.0]
    任务3.3 全部月份>15的销售员索引: [2, 4]

    总结

    本文系统介绍了Python科学计算的核心库——NumPy

    我们从理解其基础数据结构 ndarray 开始,认识到它在存储效率和计算速度上相对于Python原生列表的巨大优势。通过探索向量化操作广播机制,我们掌握了NumPy进行高效数值计算的核心思想。

    文章涵盖了数组的创建、索引、切片、形状变换以及拼接分割等基本操作,并列举了求和、均值、随机数生成、点积等必备函数。最后,通过一个简单的学生成绩分析示例,我们看到了NumPy在数据处理中的实际应用。

    附录:核心知识点速查表

    类别
    函数/属性/概念
    说明与示例
    导入模块import numpy as np
    标准导入方式。
    数组创建np.array(list)
    从列表/元组创建。
    np.zeros(shape)
    创建全0数组。np.zeros((3,4))
    np.ones(shape)
    创建全1数组。
    np.arange(start, stop, step)
    创建等差序列数组。
    np.random.rand(d0, d1, ...)
    生成[0,1)均匀分布随机数组。
    数组属性arr.shape
    数组的形状(元组)。
    arr.dtype
    数组元素的数据类型。
    arr.ndim
    数组的维数。
    核心特性向量化操作
    对整个数组进行运算,无需循环。arr * 2
    广播机制
    允许不同形状数组进行算术运算的规则。
    常用函数np.sum(arr, axis)
    求和。axis=0列,axis=1行。
    np.mean(arr, axis)
    求平均值。
    np.std(arr, axis)
    求标准差。
    np.min(arr)
    np.max(arr)
    求最小/最大值。
    np.dot(a, b)
     或 a @ b
    矩阵乘法/点积。
    np.nanmean(arr, axis)忽略NaN
    计算平均值。
    数组操作arr.reshape(new_shape)
    改变数组形状,不改变数据。
    arr[index]
    arr[row, col]
    索引与切片。
    np.vstack((a, b))
    垂直(按行)拼接数组。
    np.hstack((a, b))
    水平(按列)拼接数组。
    np.split(arr, indices)
    分割数组。
    特殊值np.nan
    表示“不是数字”的浮点值,常用于标记缺失数据。

    请在微信客户端打开

    最新文章

    随机文章

    基本 文件 流程 错误 SQL 调试
    1. 请求信息 : 2026-02-08 14:04:46 HTTP/2.0 GET : https://f.mffb.com.cn/a/464216.html
    2. 运行时间 : 0.542115s [ 吞吐率:1.84req/s ] 内存消耗:4,460.54kb 文件加载:140
    3. 缓存信息 : 0 reads,0 writes
    4. 会话信息 : SESSION_ID=0b14bcbc95d7851658e427b3e797b5f3
    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.000933s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
    2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001413s ]
    3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.007622s ]
    4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.002123s ]
    5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001518s ]
    6. SELECT * FROM `set` [ RunTime:0.000680s ]
    7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001479s ]
    8. SELECT * FROM `article` WHERE `id` = 464216 LIMIT 1 [ RunTime:0.048596s ]
    9. UPDATE `article` SET `lasttime` = 1770530686 WHERE `id` = 464216 [ RunTime:0.007562s ]
    10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000723s ]
    11. SELECT * FROM `article` WHERE `id` < 464216 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.005936s ]
    12. SELECT * FROM `article` WHERE `id` > 464216 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.011099s ]
    13. SELECT * FROM `article` WHERE `id` < 464216 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.098444s ]
    14. SELECT * FROM `article` WHERE `id` < 464216 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.153209s ]
    15. SELECT * FROM `article` WHERE `id` < 464216 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.034252s ]
    0.545202s