当前位置:首页>python>数据科学家必学!5个Python核心进阶技巧,告别垃圾低效代码

数据科学家必学!5个Python核心进阶技巧,告别垃圾低效代码

  • 2026-08-18 23:10:27
数据科学家必学!5个Python核心进阶技巧,告别垃圾低效代码
关注+星标,每天学习Python新技能

来源:网络

很多数据分析师、算法新人写的代码,普遍存在一个问题:能跑,但又慢又乱

堆砌循环、频繁中间变量、内存浪费严重、复制冗余代码,也就是常说的「面条代码」。本地小数据看不出问题,一旦遇上大数据量、生产级流水线,直接卡顿、内存溢出、难以维护。

Python 之所以统治数据科学领域,靠的不是“大家都在用”,而是语法简洁、可读性强、屏蔽了底层复杂的内存管理。但也正因高度封装,原生 Python 循环执行效率极低。

想要从「会调包的新手」进阶为「能写生产级代码的数据科学家」,必须跳出传统的面向过程写法,掌握向量化运算、维度广播、函数式流水线、匿名变换、内存优化这五大核心能力。

今天这篇干货文章,带你一次性吃透这5个进阶核心知识点,写出高速、简洁、可落地、易维护的专业数据分析代码。

基础运行环境 :

Python 3.9~3.11 

numpy==1.24.3 

pandas==2.0.3


一、NumPy 向量化运算:彻底告别低效for循环

原生 Python 的 for 循环天生低效

Python 是解释型动态语言,每一次循环迭代都会产生类型检查、方法查找、引用计数等额外开销。处理百万、千万级数据时,这些微小开销层层叠加,直接形成性能瓶颈。

而 NumPy 向量化,是解决该问题的最优解。

它不再逐行逐元素执行 Python 代码,而是将运算下沉至预编译的C底层,对整块数组批量运算,同时适配 CPU 并行指令集,速度直接拉满。

❌ 新手写法:普通for循环(低效)

模拟千万级传感器数据,实现数值缩放+校准计算:

import time# 构建千万级测试数据n_elements = 10_000_000data_list = [float(x) for x in range(n_elements)]# 传统循环计算start_time = time.time()scaled_list = []for val in data_list:    scaled_list.append(val * 1.5 + 10.0)loop_duration = time.time() - start_timeprint(f"循环写法耗时: {loop_duration:.6f} 秒")

运行结果:循环写法耗时 0.378866 秒

✅ 进阶写法:NumPy 向量化运算(极速)

无需循环,直接对整个数组做数学运算:

import numpy as npimport timen_elements = 10_000_000data_array = np.arange(n_elements, dtype=float)start_time = time.time()scaled_array = data_array * 1.5 + 10.0numpy_duration = time.time() - start_timeprint(f"NumPy向量化耗时: {numpy_duration:.6f} 秒")print(f"提速倍数: {loop_duration / numpy_duration:.1f}x")

运行结果

NumPy向量化耗时: 0.013395 秒 整体提速26.0倍

核心总结:向量化运算将循环从Python层转移到C底层,代码更简洁、速度提升数十倍,是大数据运算的基础标配。


二、广播机制:不同维度数组的运算法则

在线性代数中,矩阵运算要求两个矩阵维度完全一致。但在实际数据分析中,我们经常需要对不同维度数组做运算:比如数据集减去列均值、按行归一化等。

NumPy 广播(Broadcasting)机制,无需手动复制数据、补齐维度,就能自动适配不同维度数组运算,零内存复制、极致高效

广播核心规则

  1. 维度不一致时,自动为低维数组前置补1,统一维度长度;

  2. 两个维度相等,或其中一个为1,即为兼容维度;

  3. 兼容维度下,自动延展维度完成逐元素运算,不产生新数据。

❌ 新手写法:嵌套循环/手动补维

对3行4列特征矩阵做去均值处理:

import numpy as npfeatures = np.array([    [10.020.030.04.0],    [12.024.036.08.0],    [14.028.042.012.0]])# 计算每列均值,维度为(4,)col_means = np.mean(features, axis=0)# 双层循环手动计算demeaned_clunky = np.zeros_like(features)for idx in range(features.shape[0]):for col_idx in range(features.shape[1]):        demeaned_clunky[idx, col_idx] = features[idx, col_idx] - col_means[col_idx]# 或手动平铺补齐维度,浪费内存tiled_means = np.tile(col_means, (features.shape[0], 1))demeaned_tiled = features - tiled_means

✅ 进阶写法:一行广播运算

import numpy as npfeatures = np.array([    [10.020.030.04.0],    [12.024.036.08.0],    [14.028.042.012.0]])col_means = np.mean(features, axis=0)# 自动广播:(3,4) 与 (4,) 直接运算demeaned_broadcasting = features - col_means# 按行归一化,通过np.newaxis提升维度适配运算row_sums = np.sum(features, axis=1)normalized_features = features / row_sums[:, np.newaxis]print("去均值后矩阵:\n", demeaned_broadcasting)print("\n行归一化后矩阵:\n", normalized_features)

广播机制无需生成中间矩阵,全程C底层运算,既省内存又提速度,是数据归一化、标准化、特征校正的核心技巧。


三、Pandas .pipe() & .assign():优雅的函数式流水线

很多人的数据清洗代码极其混乱:反复定义中间DataFrame、原地修改数据、层层嵌套括号,不仅可读性差,还极易触发 SettingWithCopy 警告,埋下数据bug隐患。

Pandas 进阶最佳实践:用 .assign() 新建特征,用 .pipe() 封装通用逻辑,一行链式代码完成全流程清洗,无冗余、无副作用。

❌ 新手写法:分步迭代、反复修改

import pandas as pdimport numpy as npraw_data = {'Customer_ID': [101102103104105],'Age': [25-54712031],'Country': ['usa''CANADA''usa''Germany''canada'],'Raw_Spend': [120.50450.0080.00, np.nan, 300.00]}df = pd.DataFrame(raw_data)# 分步修改,产生大量中间变量,易出错df_clean = df.copy()df_clean = df_clean[(df_clean['Age'] >= 0) &amp; (df_clean['Age'] <= 100)]df_clean['Country'] = df_clean['Country'].str.upper().str.strip()median_spend = df_clean['Raw_Spend'].median()df_clean['Raw_Spend'] = df_clean['Raw_Spend'].fillna(median_spend)df_clean['Taxed_Spend'] = df_clean['Raw_Spend'] * 1.15df_clean = df_clean.rename(columns={'Customer_ID''customer_id'})

✅ 进阶写法:一站式流水线编程

import pandas as pdimport numpy as npraw_data = {'Customer_ID': [101102103104105],'Age': [25-54712031],'Country': ['usa''CANADA''usa''Germany''canada'],'Raw_Spend': [120.50450.0080.00, np.nan, 300.00]}df = pd.DataFrame(raw_data)# 封装通用清洗函数defstandardize_countries(dataframe: pd.DataFrame) -> pd.DataFrame:    df_out = dataframe.copy()    df_out['Country'] = df_out['Country'].str.upper().str.strip()return df_out# 链式流水线:过滤、填充缺失值、新建字段、自定义处理、重命名df_clean_pipeline = (    df.query("Age >= 0 and Age <= 100")      .assign(          Raw_Spend=lambda x: x['Raw_Spend'].fillna(x['Raw_Spend'].median()),          Taxed_Spend=lambda x: x['Raw_Spend'] * 1.15      )      .pipe(standardize_countries)      .rename(columns={'Customer_ID''customer_id'}))print(df_clean_pipeline)

核心优势:全程不修改原数据,无中间变量,逻辑串行清晰、可复用、易测试,是生产级数据预处理的标准写法。


四、Lambda匿名函数:极简完成列变换

特征工程中存在大量简单、一次性的转换逻辑:字段映射、字符串拆分、条件赋值、格式修正。如果每次都用 def 定义函数,会产生大量冗余模板代码。

Lambda 匿名函数专为轻量化瞬时变换设计,搭配 .map().apply(),可实现代码极简、逻辑内联,告别低效循环迭代。

❌ 新手写法:iterrows 逐行循环(极慢)

import pandas as pddf = pd.DataFrame({'employee_name': ['john doe''jane smith''bob johnson'],'department_code': ['IT_01''HR_02''IT_03'],'is_remote': [101]})# 逐行遍历,代码冗长、执行低效df_clunky = df.copy()df_clunky['remote_status'] = Nonedf_clunky['last_name'] = Nonefor index, row in df_clunky.iterrows():if row['is_remote'] == 1:        df_clunky.at[index, 'remote_status'] = "Remote"else:        df_clunky.at[index, 'remote_status'] = "Office"    name_parts = row['employee_name'].split()    df_clunky.at[index, 'last_name'] = name_parts[1].capitalize()

✅ 进阶写法:Lambda 内联变换

import pandas as pddf = pd.DataFrame({'employee_name': ['john doe''jane smith''bob johnson'],'department_code': ['IT_01''HR_02''IT_03'],'is_remote': [101]})# 一行代码完成多列复杂变换df_opt = df.assign(    remote_status=lambda d: d['is_remote'].map(lambda val: "Remote"if val == 1else"Office"),    last_name=lambda d: d['employee_name'].apply(lambda name: name.split()[-1].capitalize()),    dept_level=lambda d: d['department_code'].apply(lambda code: code.split('_')[-1]))print(df_opt[['employee_name''last_name''remote_status''dept_level']])

简洁紧凑、逻辑聚焦,无需额外定义函数,完美适配各类轻量特征转换场景。


五、DataFrame内存优化:修改数据类型极致瘦身

Pandas 导入数据时默认采用「保守策略」:数值统一 int64/float64、文本统一 object 类型。

这种默认方式极度浪费内存。十万级、百万级数据会占用数GB内存,本地运行卡顿、线上环境直接内存溢出。

通过向下适配数据类型、低基数文本转category,可以在不损失精度的前提下,大幅缩减内存占用。

❌ 优化前:默认数据类型(内存臃肿)

import pandas as pdimport numpy as npn_rows = 100_000np.random.seed(42)df_large = pd.DataFrame({'user_id': np.random.randint(10000001000000 + n_rows, size=n_rows),'age': np.random.randint(1890, size=n_rows),'device_type': np.random.choice(['iOS''Android''Web''SmartTV'], size=n_rows),'monthly_revenue': np.random.uniform(5.0150.0, size=n_rows),'active_subscriber': np.random.choice([01], size=n_rows)})# 查看内存占用print(df_large.info(memory_usage='deep'))memory_before = df_large.memory_usage(deep=True).sum() / (1024 ** 2)print(f"优化前内存占用: {memory_before:.2f} MB")

优化前:默认占用 8.20MB

✅ 优化后:精准适配数据类型

# 精准适配最小数据类型df_optimized = df_large.assign(    user_id=df_large['user_id'].astype('int32'),    age=df_large['age'].astype('int8'),    device_type=df_large['device_type'].astype('category'),    monthly_revenue=df_large['monthly_revenue'].astype('float32'),    active_subscriber=df_large['active_subscriber'].astype('int8'))print(df_optimized.info(memory_usage='deep'))memory_after = df_optimized.memory_usage(deep=True).sum() / (1024 ** 2)print(f"优化后内存占用: {memory_after:.2f} MB")print(f"内存缩减率: {((memory_before - memory_after) / memory_before) * 100:.1f}%")

优化效果:内存占用缩减 87.2%

优化逻辑

  • 小范围数值(年龄、二分类标签)用 int8,替代笨重的 int64;

  • 常规数值用 int32、float32,精度足够且体积减半;

  • 有限固定取值的文本(设备、地区)转为 category 类型,底层映射为数字编码,彻底告别字符串冗余存储。


写在最后

真正高阶的数据科学开发,一半是数学算法,一半是工程能力

只会调包、跑模型远远不够,写出高效、稳定、可落地的生产级代码,才是拉开差距的关键:

  • NumPy 向量化+广播:告别低效循环,硬件级提速;

  • Pandas 函数式流水线:代码整洁、无副作用、易维护;

  • Lambda匿名变换:轻量化特征工程,极简高效;

  • 数据类型内存优化:解决大数据卡顿、内存溢出问题。

吃透这5个核心知识点,你就能彻底摆脱新手「面条代码」,从容应对从本地建模到线上大规模数据处理的全场景需求!

长按或扫描下方二维码,免费获取 Python公开课和大佬打包整理的几百G的学习资料,内容包含但不限于Python电子书、教程、项目接单、源码等等

扫描二维码-免费领取

推荐阅读

Python 3.15 Beta 来了!这5个新特性,编程新手越早知道越好

这 5 个 Python 库,让你的网络运维效率翻 10 倍

Python爬虫中的"静态网页"和"动态网页"!

使用 Excel 和 Python 从互联网获取数据

点击 阅读原文了解更多

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-08-22 01:19:50 HTTP/2.0 GET : https://f.mffb.com.cn/a/504270.html
  2. 运行时间 : 0.106190s [ 吞吐率:9.42req/s ] 内存消耗:4,857.35kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=851978647f6f85ac4997e12c2a542c8c
  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.000424s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000555s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000262s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.003210s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000572s ]
  6. SELECT * FROM `set` [ RunTime:0.000184s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000565s ]
  8. SELECT * FROM `article` WHERE `id` = 504270 LIMIT 1 [ RunTime:0.000461s ]
  9. UPDATE `article` SET `lasttime` = 1787332790 WHERE `id` = 504270 [ RunTime:0.018663s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000272s ]
  11. SELECT * FROM `article` WHERE `id` < 504270 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000435s ]
  12. SELECT * FROM `article` WHERE `id` > 504270 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000374s ]
  13. SELECT * FROM `article` WHERE `id` < 504270 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000772s ]
  14. SELECT * FROM `article` WHERE `id` < 504270 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.000798s ]
  15. SELECT * FROM `article` WHERE `id` < 504270 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.012315s ]
0.107833s