当前位置:首页>python>NumPy 到底是什么?新手学 Python 数据科学的第一块敲门砖

NumPy 到底是什么?新手学 Python 数据科学的第一块敲门砖

  • 2026-08-19 17:45:58
NumPy 到底是什么?新手学 Python 数据科学的第一块敲门砖

系列说明:本系列共 4 篇,本文是第 1 篇。
系列目录:

  • 第 1 篇(本篇):NumPy 入门第一课——为什么数据科学离不开它
  • 第 2 篇:NumPy 数组创建与操作大全——zeros、arange、reshape 一次讲清
  • 第 3 篇:NumPy 索引切片与条件筛选——从数组中精确取数
  • 第 4 篇:NumPy 实战收官——聚合、随机数、保存读取与绘图

这篇文章适合谁?

如果你满足下面任意一条,本文就是为你准备的:

  • 刚学完 Python 基础语法(变量、列表、循环),准备踏入数据科学的大门;
  • 看机器学习教程时,满屏都是 np.arraynp.reshapenp.xxx,完全看不懂;
  • 听说过 NumPy 很牛,但不知道它到底解决什么问题,也不知道从哪开始学。

这一篇的目标很朴素:让你搞懂 NumPy 是什么、它解决什么问题、数组长什么样,并且能亲手写出自己的第一个 NumPy 程序。全程零基础友好,每段代码都建议你打开 Python 环境跟着敲一遍。


1. 为什么学数据科学,第一个要碰的就是 NumPy?

先看一张"食物链":

NumPy(数组运算)→ Pandas(表格处理)→ Matplotlib(绘图)→ Scikit-learn(机器学习)

NumPy 是整个 Python 数据科学生态系统的地基。Pandas 底层用 NumPy 数组存数据,Matplotlib 画图的数据要转成 NumPy 数组,机器学习模型的特征矩阵本质上也是 NumPy 数组。

所以一句话:NumPy 学不扎实,后面全都会卡壳。反过来,只要把 NumPy 这关过了,学 Pandas、Matplotlib 会顺滑很多。


2. NumPy 到底是什么?

NumPy 是Numerical Python的缩写,是一个开源的 Python 库,专门用于科学计算和工程领域。

它核心做两件事:

  1. 提供了一种高性能的数据结构——N 维数组(ndarray)
  2. 提供了大量用于高效处理这些数组的函数(求和、排序、统计、矩阵运算等)。

安装方式(如果你还没装):

pip install numpy

安装完成后,在代码里按通用约定导入:

import numpy as np

看到 np. 前缀,你就知道这是在调用 NumPy 的功能。这个约定全网通用,后面所有教程都会这么写。

新手提示:如果用的是 Anaconda,NumPy 通常已经预装好了,直接 import numpy as np 试试,不报错就说明环境 OK。


3. 什么是"数组"(ndarray)?——从直觉开始

很多教程一上来就甩定义,新手直接劝退。我们从生活直觉出发。

3.1 一维数组:像一条队列

想象你手上有 4 个数字:1, 5, 2, 0。把它们排成一排,就是一个一维数组

| 1 | 5 | 2 | 0 |

对应到 Python 里,它最像你熟悉的列表。事实上,你可以用列表直接创建数组:

import numpy as npa = np.array([1, 5, 2, 0])print(a)

输出:

[1 5 2 0]

3.2 二维数组:像一张表格

如果数据有两行三列,就是一个二维数组

| 1 | 5 | 2 || 8 | 3 | 6 |

创建方式是把"列表的列表"传给 np.array:

b = np.array([[1, 5, 2],              [8, 3, 6]])print(b)

输出:

[[1 5 2] [8 3 6]]

3.3 三维数组:像一叠表格

把两张同样的表格叠起来,就是三维数组——可以理解为一本书的多个页面,每页是一张表:

c = np.array([    [[1, 2], [3, 4]],    [[5, 6], [7, 8]],    [[9, 10], [11, 12]],])print(c)

输出:

[[[ 1  2]  [ 3  4]] [[ 5  6]  [ 7  8]] [[ 9 10]  [11 12]]]

这个数组有 3 个"页面",每页 2 行 2 列。

3.4 关键结论

  • NumPy 的 ndarray 就是 N 维数组(N-dimensional array),N 可以是 0、1、2、3……任意整数;
  • 一维像队列,二维像表格,三维像一叠表格,更高维可以以此类推;
  • 它是为大量同类型数值的高效计算而生的。

4. 为什么 Python 列表不如 NumPy 数组?

这是新手最爱问的问题:"列表也能存数字、也能索引,为什么非要 NumPy?"

我们分三个方面讲清楚。

4.1 速度:快得多

Python 列表的每个元素都是独立的 Python 对象,操作时要经历大量解释器的开销。而 NumPy 数组把数据连续地存在内存里,运算是在底层用编译好的 C 语言批量执行。

直观体验:计算 100 万个数的总和。

import numpy as npimport time# 用 Python 列表lst = list(range(1_000_000))t0 = time.time()s1 = sum(lst)t1 = time.time()# 用 NumPy 数组arr = np.arange(1_000_000)t2 = time.time()s2 = arr.sum()t3 = time.time()print(f”列表求和耗时: {t1 - t0:.4f} 秒”)print(f”NumPy 求和耗时: {t3 - t2:.4f} 秒”)

输出(具体数值因电脑而异,但差距是数量级的):

列表求和耗时: 0.0320 秒NumPy 求和耗时: 0.0008 秒

在百万级数据上,NumPy 往往比纯 Python 列表快几十到上百倍。数据量越大,差距越明显。

4.2 内存:省得多

列表里每个元素都是独立对象,自带类型信息、引用计数等额外开销;而 NumPy 数组把所有元素紧凑连续地存放在一块内存里,只记录一次类型信息。

举例:同样存 100 万个整数,NumPy 数组占用的内存通常是列表的1/3 到 1/5。数据量上亿时,这个差距直接决定程序会不会内存爆炸。

4.3 语法:简洁得多

处理"把每个元素乘以 2"这种需求:

# Python 列表:要写循环lst = [1, 2, 3, 4]doubled = [x * 2 for x in lst]# NumPy 数组:直接乘arr = np.array([1, 2, 3, 4])doubled = arr * 2

再看"把两个数组对应元素相加":

# Python 列表a = [1, 2, 3]b = [10, 20, 30]c = [x + y for x, y in zip(a, b)]# NumPy:一行搞定c = np.array(a) + np.array(b)

NumPy 的向量化写法让代码更接近数学公式本身:公式长什么样,代码就长什么样。这就是为什么数据科学家几乎不用纯列表做数值运算。

小结:列表灵活通用,适合小规模、异构数据;NumPy 数组专为"大量同类型数值"而生——更快、更省、更简洁


5. 数组的三个特点(限制)

NumPy 数组之所以快,是因为它接受了一些"限制",把自由度换成了性能:

特点一:同质(所有元素类型相同)

数组里所有元素必须是同一数据类型(比如全是整数,或全是浮点数)。不能用 [1, "小明", 3.5] 这样混着存的数组。

a = np.array([1, 2, 3])# 全是整数,OKb = np.array([1.0, 2.0, 3.0])# 全是浮点数,OK# c = np.array([1, ”小明”, 3.5])# 报错或自动转换,不推荐

好处是:每个元素占用固定大小,可以紧凑存储、快速寻址。

特点二:大小固定(创建后不能改总大小)

数组创建后,元素总数不能变。你不能像列表那样 append 或 remove。

想增删元素怎么办?答案是创建一个新数组。这看似麻烦,却让 NumPy 能提前规划内存布局,换来极致速度。

特点三:形状矩形(不能参差不齐)

二维数组的每一行,列数必须相同。比如 [[1,2,3],[4,5,6]] 合法(两行都是 3 列),而 [[1,2],[3,4,5]] 就不是一个合法的 NumPy 数组(第一行 2 列、第二行 3 列,参差不齐)。

这三条限制让 NumPy 可以"算准每一个元素的位置",从而在底层做高效的批量运算。记住:性能来自限制。


6. 动手:创建数组、索引、切片

6.1 索引(从 0 开始)

Python 和 NumPy 都采用0 索引:第一个元素下标是 0,不是 1。

a = np.array([10, 20, 30, 40, 50])print(a[0])# 第一个元素 → 10print(a[2])# 第三个元素 → 30print(a[-1])# 最后一个元素 → 50

输出:

103050

6.2 可变性(能改值)

数组和列表一样是可变的,直接按索引赋值即可:

a[0] = 99print(a)

输出:

[99 20 30 40 50]

6.3 切片(取一段)

切片语法 起始:结束,包含起始、不包含结束(左闭右开):

print(a[1:4])# 下标 1 到 3 → [20 30 40]print(a[:3])# 前 3 个 → [99 20 30]print(a[2:])# 从下标 2 到最后 → [30 40 50]

输出:

[20 30 40][99 20 30][30 40 50]

新手必知的坑(重要):对 NumPy 数组切片,得到的是原数组的视图(view),修改切片会连带修改原数组;而 Python 列表切片得到的是新列表。这一块在系列第 2 篇会重点展开,先记住"切片可能改到原数据"即可。


7. 轴(axis)是什么?——axis=0 / axis=1 直观理解

"轴"是新手绕不开、也最容易晕的概念。先建立直觉:

  • axis=0:沿行方向,也就是"从上往下"的方向;
  • axis=1:沿列方向,也就是"从左往右"的方向。

用一个 3 行 2 列的数组举例:

data = np.array([[1, 2],                 [3, 4],                 [5, 6]])

沿 axis=0 求和(从上往下加,得到每列的和):

print(data.sum(axis=0))

输出:

[9 12]

解读:第 1 列 1+3+5=9,第 2 列 2+4+6=12。

沿 axis=1 求和(从左往右加,得到每行的和):

print(data.sum(axis=1))

输出:

[ 3  7 11]

解读:第 1 行 1+2=3,第 2 行 3+4=7,第 3 行 5+6=11。

记忆口诀:axis=0 的结果"长度等于列数"(每列一个结果),axis=1 的结果"长度等于行数"(每行一个结果)。做聚合操作前,先想清楚你要"按行聚合"还是"按列聚合",方向选对了,代码就对了。


8. 数组属性速查:ndim / shape / size / dtype

每个数组都自带"体检报告",四个最常用属性:

属性
含义
例子(3 行 4 列数组)
ndim
维度数(轴的数量)
2
shape
各维度大小的元组
(3, 4)
size
元素总数
12
dtype
元素的数据类型
int64

实操:

arr = np.array([[1, 2, 3, 4],                [5, 6, 7, 8],                [9, 10, 11, 12]])print(”维度数 ndim:”, arr.ndim)print(”形状 shape:”, arr.shape)print(”元素总数 size:”, arr.size)print(”数据类型 dtype:”, arr.dtype)

输出:

维度数 ndim: 2形状 shape: (3, 4)元素总数 size: 12数据类型 dtype: int64

要点:

  • shape
     是一个元组,从左到右分别表示"第 0 轴长度、第 1 轴长度……",二维数组就是"行数、列数";
  • size
     永远等于 shape 各元素相乘:3 × 4 = 12;
  • dtype
     常见的值有 int64(64 位整数)、float64(64 位浮点数)等,创建数组时可以用 dtype 参数指定。

9. 实战彩蛋:一学期成绩表(shape 与 axis 的实战)

纸上得来终觉浅。我们用一个真实的场景把上面所有概念串起来。

场景:你是一所中学的班主任,班里 5 名同学,期末考了语文、数学、英语三科。你想快速回答三个问题:

  1. 这张成绩表是什么形状、一共多少个成绩?
  2. 每位同学的总分是多少?
  3. 每门课的平均分是多少?

代码:

import numpy as np# 5 行 3 列:行 = 学生,列 = [语文, 数学, 英语]scores = np.array([    [88, 92, 79],    [65, 58, 70],    [93, 87, 95],    [76, 64, 82],    [81, 73, 68],])# 1. 查看形状与大小print(”维度数:”, scores.ndim)# 2print(”形状:”, scores.shape)# (5, 3)print(”成绩总数:”, scores.size)# 15print(”数据类型:”, scores.dtype)# int64# 2. 每位同学的总分:沿列方向求和(axis=1 → 每行一个结果)total_per_student = scores.sum(axis=1)print(”每位同学总分:”, total_per_student)# 3. 每门课的平均分:沿行方向求均值(axis=0 → 每列一个结果)avg_per_subject = scores.mean(axis=0)print(”各科平均分:”, avg_per_subject)

输出:

维度数: 2形状: (5, 3)成绩总数: 15数据类型: int64每位同学总分: [259 193 275 222 222]各科平均分: [80.6 74.8 78.8]

解读:

  1. shape = (5, 3):5 行代表 5 位同学,3 列代表 3 门课。看到这个元组,你就能立刻说出数据组织的逻辑——这正是 shape 的意义:它告诉你怎么"读"这张表
  2. size = 15:5 × 3 = 15,正好是成绩总数,和 shape 的乘积对上了。
  3. scores.sum(axis=1)
    axis=1 沿列方向加,得到 5 个值,即每位同学的三科总分(第 2 位同学 58 分的数学把总分拉低了,一眼可见);
  4. scores.mean(axis=0)
    axis=0 沿行方向求平均,得到 3 个值,即每门课的平均分——数学 74.8 是全班最弱科,后续可以针对性补课。

这个例子虽然小,但已经完整演示了数据科学中最常见的操作模式:用 shape 理解数据结构 → 用 axis 控制聚合方向 → 用一行代码得到统计结果

自己动手:试着把 axis=0 和 axis=1 换过来运行,看看输出变成了什么,并想想为什么。想通了,axis 就再也难不倒你了。


10. 总结与预告

本篇你学会了什么?

  • NumPy 是 Python 数据科学的地基,提供了 N 维数组(ndarray)与高效运算函数;
  • 一维像队列、二维像表格、三维像一叠表格;
  • 相比 Python 列表,NumPy 在速度、内存、语法三方面全面胜出;
  • 数组的三个特点:同质、大小固定、形状矩形——限制换来性能;
  • 数组支持 0 索引、可变、切片,但切片返回的是视图;
  • axis=0 沿行方向、axis=1 沿列方向,聚合结果长度分别为列数与行数;
  • 四个核心属性:ndim(维度数)、shape(形状)、size(元素总数)、dtype(数据类型)。

下一篇预告

第 2 篇《NumPy 数组创建与操作大全:zeros、arange、reshape 一次讲清》将带你掌握:

  • 用 np.zeros / np.ones / np.arange / np.linspace 快速生成数组;
  • 用 reshape / newaxis / flatten 自由改变数组形状;
  • 用 concatenate / vstack / hstack 拼接数组;
  • 彻底搞懂"视图 vs 副本"的千古难题。

学会了这些,你就具备独立处理真实数据的动手能力了。


如果这篇文章对你有帮助,请点赞 + 收藏 + 关注,这是对创作者最大的支持。下一篇见!

有任何问题欢迎在评论区留言,我会逐一回复。系列 4 篇持续更新中,关注后不会迷路。

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-08-21 15:35:10 HTTP/2.0 GET : https://f.mffb.com.cn/a/511272.html
  2. 运行时间 : 0.217118s [ 吞吐率:4.61req/s ] 内存消耗:4,401.91kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=229049f8ca2d5c9244cd80d71e32c7a5
  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.001106s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001434s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000687s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000702s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001357s ]
  6. SELECT * FROM `set` [ RunTime:0.000621s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001362s ]
  8. SELECT * FROM `article` WHERE `id` = 511272 LIMIT 1 [ RunTime:0.000985s ]
  9. UPDATE `article` SET `lasttime` = 1787297710 WHERE `id` = 511272 [ RunTime:0.008647s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000548s ]
  11. SELECT * FROM `article` WHERE `id` < 511272 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001065s ]
  12. SELECT * FROM `article` WHERE `id` > 511272 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.002561s ]
  13. SELECT * FROM `article` WHERE `id` < 511272 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.001787s ]
  14. SELECT * FROM `article` WHERE `id` < 511272 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.012674s ]
  15. SELECT * FROM `article` WHERE `id` < 511272 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.002393s ]
0.221077s