当前位置:首页>python>AI化学系列——Notebook1:Python入门

AI化学系列——Notebook1:Python入门

  • 2026-03-27 15:42:02
AI化学系列——Notebook1:Python入门

欢迎再次回到机器学习入门工作流 !今天的内容将围绕“数据点绘制”和“函数拟合”两项任务展开,系统阐述包括基本定义、Python内置函数、Python库的概念以及本研究所用库的类型等Python编程基础,并通过导入公开数据集开展统计分析与函数拟合,全程代码可直接运行【建议优选google colab,次之Jupyter notebook或者Pycharm,如果都没有,手头的豆包千问试试吧】~

本节学习目录

  • 变量 (Variables)
  • 数据类型 (Types of data)
  • 函数 (Functions)
  • 库 (Libraries)
  • 数据集处理 (Dataset manipulation)
  • 基础绘图 (Simple plots)
  • 多子图绘制 (Multiple plots)
  • 线性回归 (Linear Regression)

1.变量

在Python及多数编程语言中,变量定义为数据值的存储单元,各变量具有唯一标识符。本节我们通过示例演示Python变量的基本用法,以变量ab为例,我们为其赋予任意数值。(注意!!计算逻辑与数学逻辑存在本质差异:符号 = 并非数学意义上的等号,而是赋值操作符,用于将右侧数值赋予左侧变量)在示例中,我们把数值1赋予变量aa→1),方便后续引用计算结果。

运算符用于变量与数值之间的运算。示例中,我们定义了变量additionab的和;定义变量exponentiation二者的幂运算结果,即a^b

# 定义变量a = 1b = 2# 加减乘除、幂运算addition = a + b        # 加法exponentiation = addition ** b  # 幂运算 和的b次方

运行结果:

addition → 3exponentiation → 9

比较运算符==用于判定两个数值是否相等,其运行结果为布尔型数据,取值为真(True)或假(False),相关内容将在下一节详细阐述。

a == 2  # 结果:False

2. 数据类型

Python支持多种数据类型,我们这里重点介绍以下五类:

  • 布尔值 (bool):只有True/False 两种结果
  • 整数 (int):正/负整数,如8、-678
  • 浮点数 (float):小数,如3.14159、-6.5
  • 字符串 (str):文本,用引号包裹,如"hello"
  • 列表 (list):有序集合,如[1,2,3,4]

2.1 查看数据类型

可通过type()函数查看数据类型:

type(3)    # inttype(0.5)  # float

如前所述,3是整数,0.5是浮点数。

2.2 浮点数精度问题

如前所述,浮点数可以是有限或无限小数形式的有理数或无理数。受限于计算机的存储与运算能力,其内部可保存的小数位数存在上限,因此我们执行的任何数学运算均不可避免地存在一定近似。

需要注意的是,判断计算机是否采用浮点数与近似计算至关重要。以数值0.3为例,Python等编程语言均以二进制分数存储浮点数,而绝大多数十进制小数无法被精确表示,仅能以近似值存储与运算,因而会出现微小误差,这种现象被称为浮点误差尽管输出[使用print()函数]浮点数时Python会输出其十进制近似值,使误差难以察觉,但在数值运算中该偏差会明显体现。例如输入0.1时,计算机实际采用其二进制近似值参与计算,而非精确的1/10,因此0.1+0.1+0.1的结果并不严格等于0.3。这类情况在计算中必须予以考虑,此类误差曾导致1996年阿丽亚娜5号重型运载火箭自毁事故。

0.1 + 0.1 + 0.1 == 0.3  # 结果:False

2.3 字符串与列表

print()函数用于在终端输出各类对象,涵盖字符串、数值及多种数据类型变量。代码单元可通过Ctrl+Enter执行,Shift+Enter执行后跳转至下一单元。文本内容,即字符串,需使用单引号(‘’)双引号(“”)包裹。
# 定义字符串'this is a string'# 运行结果→ 'this is a string'
字符串可包含数字,但不遵循数学运算规则字符串间加法实则拼接操作,比如我们将字符串‘12’、‘34’和‘A’相加,得到的结果如下:
'12' + '34' + 'A'  # 结果→ '1234A'

列表也是一种重要的数据结构,它能够在单一变量中存储多个元素。列表中元素具备有序性,且创建后支持修改操作。每个元素均分配唯一索引,其中首个元素索引为[0],第二个元素索引为[1],其余元素索引依次递增。如我们在列表["element1",2,3.14]中选取索引为[1]的元素,即列表中的第二个元素。

my_list = ["element1", 2, 3.14]my_list[1]  # 取第2个元素 → 2

3. 函数

函数就是可重复使用的一段代码块,仅在调用时执行。Python内置很多现成函数,如print()sum()pow() 等,也可自定义函数。

3.1 常用内置函数

print("Hello World!")  # 打印输出 → Hello World!sum([1,2])             # 求和 → 3pow(3,2)               # 幂运算 → 9

3.2 自定义函数

除系统内置函数外,用户也可以通过def自定义函数,并依托代码缩进区分独立的函数代码块。为了更好地阐释函数的运行机制,需要明确区分参数参数值

  • 参数:函数声明时定义的变量,位于括号内;
  • 参数值:函数调用时传入的实际数值。

return的作用是指定函数的返回结果。如下面的第一个例子中,arg1和arg2称为参数,传入的实际数值4和2称作参数值。而变量result的作用域限定于function_add函数内部,此类变量定义为局部变量。在自定义函数的实际书写过程中,要注意相应的缩进和对齐格式。

# 定义加法函数, def function_add(arg1, arg2):    result = arg1 + arg2    return resultfunction_add(42)  # 调用 → 6
# 同时返回加、乘两个结果def function_addmult(arg1, arg2):    result1 = arg1 + arg2    result2 = arg1 * arg2    return result1, result2function_addmult(4,2)  # → (68)

4. 库

在开展数据处理工作前,需要先导入模块(modules即由第三方开发的功能程序集,这些模块化的程序集称之为“”。本节将导入两款常用的数据管理库:

  • Pandas:提供表格生成函数,支持执行多样化数据处理操作;
  • Seaborn:支持调用各类常规统计函数,并可通过简洁语法实现大规模数据的图形化可视化,不过 Seaborn库的使用,还需同步导入Matplotlib图形库。
Pandas与Seaborn均以数据框(DataFrame)结构处理数据,即带行、列标签的二维表格形式。
库模块的导入可通过import命令执行,as命令用于为导入的模块指定自定义缩写名称
import pandas as pdimport seaborn as sns
在线笔记本环境相关模块已在远程服务器完成预装(也可在自己的Python环境下自己安装,命令:!pip installSeaborn),在导入Seaborn模块时,Matplotlib库会被自动加载。本研究使用Seaborn内置经典数据集安斯库姆四重奏(Anscombe Quartet),该数据集在统计学中具有重要意义。
5. 数据框 (DataFrame) 操作
安斯库姆四重奏(Anscombe's quartet)是统计学家弗朗西斯・安斯库姆提出的一组由四个数据集构成的经典数据集,用来说明统计分析中数据可视化的重要性。这四个数据集都包含11个数据点,每个数据点都由两个变量组成,分别为X和Y。它们的统计学特征,如平均数、方差、相关系数等,高度一致。但当将这四个数据集可视化后,却发现它们的分布情况大不相同。Anscombe Quartet数据集在Seaborn数据库中可直接调用加载。
df = sns.load_dataset('anscombe')
数据集加载完成后,为查看所处理的数据内容,可将数据以表格(即数据框)形式输出。通过该方式可以看到,数据集中dataset列将数据划分为Ⅰ、Ⅱ、Ⅲ、Ⅳ四组,各组分布特征存在差异,可分别开展统计分析。

如上表,该数据表共包含4列。第一列为索引(index),仅用于对数据点进行编号;其余各列为当前数据集所对应的特征字段。在编程中,任何数值、函数或数据框均可统称为对象(object),且每个对象均隶属于特定的类(class)。数据框本身即为一种类,原因在于所有数据框均支持相同类型的操作行为。简言之,对Python对象使用type()函数,其本质是获取该对象所属的类信息

通过type()验证数据结构:
type(df)  # 输出结果 → pandas.core.frame.DataFrame

数据框(df)常用操作如下:

  • 查看列名:df.columns
  • 行列转置:df.T
  • 数值排序:df.sort_values (by='列名', ascending=True/False)
  • 单列提取:df['列名'],返回序列(Series)
  • 布尔筛选:df[df['列名']>条件],df[df['列名']==条件]
  • 按索引提取行:df[0:3]
  • 标签定位:df.loc[行范围, [列名]]
5.1 查看数据基本信息
Pandas中的一些内置函数可以帮助我们查看数据框的某些特征,例如columns函数可以输出数据表中所有现有列的列名,我们也可以使用T函数转置表格的行和列。
df.columns  # 查看列名 → Index(['dataset''x''y'])df.T        # 行列转置
5.2 排序

如若需要按照指定条件对表格中的数值进行排序,则可使用sort_values()函数。这里需要注意的是,我们必须指定哪一列中的数据进行排序,并通过ascending(升序)或descending(降序)等参数设置数据的排序方式。与其他函数一样,该函数也可根据需求自定义其他参数。例如,ascending参数的默认值为True(升序);如有需要,可将其修改为False(降序)。下面的例子中,我们将对x列的数据执行升序排序

# 按x列升序排序df.sort_values(by='x'ascending=True)
5.3 筛选数据
借助Pandas模块,我们还可以按照指定条件对数据集中的数据进行筛选操作,如下面的例子:我们可以选取单独一列,并生成仅包含索引与所选列的数据表。这类数据表被称为序列(Series)。
df_X = df['x']df_X
我们也可以根据索引选取一定范围的行。
df[0:3]
我们还可以结合上述两种操作,通过loc方法同时选取一定范围的行与指定的列。
df.loc[5:9, ['x', 'y']]
我们还可以对列中的数值使用比较运算符布尔运算符。例如,以下代码创建了一个序列(Series),用于显示x列中哪些行的数值大于8。这种操作也被称为布尔掩码(boolean mask)。那么,按照这样操作所创建的序列可作为原始数据集的筛选器使用。
df['x'] > 8 #Boolean mask
以上述数据集为原始数据集,再做一次筛选,则能生成一个新的数据框,其中仅保留原始数据框中x列数值大于8的行
df[df['x'] > 8]
为了更加便捷,我们通常也会根据数据类型对数据进行筛选。比如在当前数据集中,不同数据已预先通过一列标记为I、II、III、IV四种类型。Pandas支持条件表达式作为索引来完成数据筛选。在下面的案例中,筛选条件为:dataset列的取值等于I、II、III或IV。(注意,这里的条件表达式本质上相当于先做了一次布尔筛选)
# 按dataset分组筛选df_I = df[df['dataset']=='I']df_II = df[df['dataset']=='II']df_III = df[df['dataset']=='III']df_IV = df[df['dataset']=='IV']
5.4 并排展示多表格
我们再来定义一个能够并排显示多个表格的函数。为实现这一功能,我们首先需要从IPython.display中导入display_html
在函数内部,我们先定义一个新变量html_str并将其初始化为空字符串;再将数据框(df)调整为HTML表格格式,把生成的表格内容赋值给html_str;最后通过样式参数table style="display:inline"实现多表格并排展示。
from IPython.display import display_htmldef display_side_by_side(*args):    html_str = ''    for df in args:        html_str += df.to_html()    display_html(html_str.replace('table','table style="display:inline"'), raw=True)# 调用display_side_by_side(df_I, df_II, df_III, df_IV)
注意:这段代码中的+=运算符表示将另一个数值与变量当前值相加,并将计算后的新值赋给该变量。

6. 数据可视化

数据可视化是机器学习的核心环节,Seaborn支持散点图、折线图、直方图等多种可视化形式。本节将介绍如何基于当前数据集绘制几种基础图表。绘制这些图表时,我们可以直接使用模块内置的函数,与前面的操作方式一致。

6.1 散点图

如在散点图绘制中scatterplot函数会创建一个默认尺寸的图形,并接收需要绘制的参数。如下代码展示了如何绘制数据框中x列与y列的数值。

# 基础散点图sns.scatterplot(x="x", y="y", data=df)# 按分组上色、改形状、改大小sns.scatterplot(x="x", y="y", hue="dataset", style="dataset", size="dataset", data=df)
我们还可以对图表的颜色、尺寸、坐标轴标签及图表标题等多种属性进行调整。例如,Seaborn库中自带的参数hue,可对变量进行分组,并以不同颜色显示数据点。更多操作细节,可查阅Seaborn官方文档。
我们也能以类似的方式绘制筛选后的数据集。如:
plot=sns.scatterplot(x="x", y="y", data=df[df['dataset']=='I'])
我们也可将图表保存为一个变量。通过这种方式,后续能够继续修改它的部分属性,例如坐标轴的取值范围等,示例如下:
plot=sns.scatterplot(x="x", y="y", data=df[df['dataset']=='I'])plot.set(xlim=(0, 20), xlabel='common xlabel', ylim=(0, 20), ylabel='common␣↪ylabel', title='some title')
6.2 多子图并排

我们还可以创建包含多个子图的图表。在绘制多子图图表时,需要通过设置参数col对变量进行分组,并为每个分组单独生成子图。同时借助参数col_wrap,设置图表中子图的展示行数。在下面的例子中,我们使用relplot而非scatterplot,因为只有relplot支持参数col

sns.relplot(x="x", y="y", col="dataset", col_wrap=2, hue="dataset", data=df)

7. 线性回归

数据分析中的一个常规步骤是执行线性回归。我们将使用Seaborn自带的工具来完成这一操作。

7.1 线性拟合

首先以区域 I 的数据为例,lmplot命令可实现回归分析;若未指定回归类型,默认输出线性回归结果。其中,参数scatter_kws用于设置图表中点的大小;参数ci=None用于关闭置信区间显示(Seaborn默认会展示置信区间双曲线)。我们将展示两种情况:包含置信区间不包含置信区间的效果。

# 数据集I做线性回归sns.lmplot(x="x", y="y", data=df[df['dataset']=='I'], ci=None, scatter_kws={"s":80})
sns.lmplot(x="x", y="y", data=df[df['dataset']=='I'], scatter_kws={"s": 80})

7.2 多项式拟合(抛物线)

接着,我们对区域 II 的数据执行同样的操作:

sns.lmplot(x="x", y="y", data=df[df['dataset']=='II'], order=2, ci=None, scatter_kws={"s":80})

结果发现区域 II 的数据并不适合线性,反而更接近抛物线,因而改用二次多项式拟合,通过设置参数order即可实现。

c=sns.lmplot(x="x", y="y", data=df[df['dataset']=='II'], order=2, ci=None, ␣↪scatter_kws={"s": 80});

7.3 残差

  • 执行residplot命令,可以绘制残差图,通过绘制残差图可以判断我们是否选对了回归模型。例如,若线性模型适用于当前数据(区域 I 数据),残差图中的点应当随机分布在横轴周围
# 残差图sns.residplot(x="x", y="y", data=df[df['dataset']=='I'], scatter_kws={"s":80})
而当我们对区域 II 数据进行同样的操作,结果观察到残差图中的数据点呈现出明显的抛物线趋势。这表明线性回归并不适用于该组数据
sns.residplot(x="x", y="y", data=df[df['dataset']=='II'], scatter_kws={"s": 80})
7.4 计算回归方程与参数
如上所见,区域 I 的数据确实符合线性趋势。若我们想要获取这条趋势线的方程,则可以使用Scipy库精确算出斜率、截距、R² 等指标::只需再次对区域 I 的数据绘制线性回归图,并添加plot.legend()函数即可。若我们不为该函数设定任何参数,图例的内容将自动生成
from scipy import stats# 线性回归计算slope, intercept, r_value, p_value, std_err = stats.linregress(df[df['dataset']=='I'].x, df[df['dataset']=='I'].y)# 输出结果print(f"斜率: {slope:.1f}")print(f"截距: {intercept:.1f}")print(f"R²: {r_value**2:.2f}")
运行结果:
斜率: 0.5截距: 3.0R²: 0.82p值: 0.002170标准误: 0.117906

小结

学完这篇Python入门,你应该已经掌握了:

    • 变量、数据类型、函数的核心用法
    • Pandas+Seaborn处理与绘制数据
    • 线性/多项式回归以及残差检验
    • 直接用代码得到回归方程与指标

这套流程是化学领域机器学习最最基础workflow,后续我们将继续用它处理一些真实的化学数据!

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-03-27 20:51:25 HTTP/2.0 GET : https://f.mffb.com.cn/a/483328.html
  2. 运行时间 : 0.147606s [ 吞吐率:6.77req/s ] 内存消耗:4,687.05kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=11865e31e342de737609514aafc951d4
  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.000499s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000612s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000296s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000379s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000479s ]
  6. SELECT * FROM `set` [ RunTime:0.003339s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000667s ]
  8. SELECT * FROM `article` WHERE `id` = 483328 LIMIT 1 [ RunTime:0.029072s ]
  9. UPDATE `article` SET `lasttime` = 1774615886 WHERE `id` = 483328 [ RunTime:0.002615s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000702s ]
  11. SELECT * FROM `article` WHERE `id` < 483328 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001052s ]
  12. SELECT * FROM `article` WHERE `id` > 483328 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.008256s ]
  13. SELECT * FROM `article` WHERE `id` < 483328 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.014860s ]
  14. SELECT * FROM `article` WHERE `id` < 483328 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.002490s ]
  15. SELECT * FROM `article` WHERE `id` < 483328 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.002278s ]
0.151374s