当前位置:首页>python>深入理解元组:Python中的不可变序列

深入理解元组:Python中的不可变序列

  • 2026-01-10 23:15:21
深入理解元组:Python中的不可变序列

深入理解元组:Python中的不可变序列

元组(tuple)作为 Python 中独特的不可变有序序列,看似简单却暗藏高效实用的特性,它以 “不可修改” 为核心,兼具轻量、可哈希、自动解包等优势,是存储固定数据、优化程序性能的重要工具。

本文从元组的基础定义(重点避坑单元素元组需加逗号)出发,层层递进拆解核心知识点:

1.六大核心特性:不可变性保障数据安全、可哈希性支持字典复合键、轻量高效适配大量只读数据,还支持自动打包解包,是函数多返回值的本质;2.基础操作:仅支持索引、切片、拼接等只读操作,内置方法仅有count()(统计次数)和index()(查找索引),简洁易用;3.高级技巧:元组解包(普通解包 + 星号解包)实现优雅变量交换、部分元素提取,命名元组则让元组拥有 “属性访问” 能力,更贴合结构化数据场景;4.深层认知:元组的不可变是 “引用不可变”,内部可变元素(列表 / 字典)可修改,同时不可变性带来哈希支持、线程安全、性能优化三大核心价值;5.选型指南:明确元组与列表的适用边界,数据无需修改、需哈希支持、性能敏感时优先选元组,数据动态变化时选列表;6.最佳实践:涵盖配置存储、函数多返回值、字典复合键等实用场景,附带性能对比,帮助开发者在实际开发中高效运用元组。

这份指南全面覆盖元组从基础到进阶的所有知识点,无论是 Python 新手巩固数据结构,还是资深开发者优化程序性能,都能从中获取实用价值,彻底吃透元组的核心用法与底层逻辑。

一、元组核心特性

1.1 定义方式与特点

元组使用小括号 () 定义,元素用逗号分隔。与列表最大的区别在于不可变性

# 基础定义t1 = (123"Python")t2 = 456"Java"  # 省略括号同样有效# 单元素元组(必须加逗号)single = (10,)     # 元组not_tuple = (10)   # 整数,不是元组!# 空元组empty1 = ()empty2 = tuple()# 元组转换list_to_tuple = tuple([123])  # (1, 2, 3)str_to_tuple = tuple("Python")    # ('P', 'y', 't', 'h', 'o', 'n')

1.2 六大核心特性

二、基础操作:只读访问

2.1 索引与切片

# 基础访问colors = ("red""green""blue""yellow")print(colors[0])      # redprint(colors[-1])     # yellowprint(colors[1:3])    # ('green', 'blue')print(colors[::-1])   # 反转# 注意:不可修改!# colors[0] = "black"  # ❌ 报错

2.2 常用只读操作

t = (1, 2, 2, 3, 4)# 基本信息len(t)        # 5,元素个数2 in t        # True,成员判断t + (5, 6)    # (1, 2, 2, 3, 4, 5, 6),拼接(生成新元组)t * 2         # (1, 2, 2, 3, 4, 1, 2, 2, 3, 4),重复# 比较运算(元素需可比较)(1, 2) < (1, 3)  # True,逐元素比较

三、核心方法:仅有两个

由于不可变性,元组只有两个内置方法:

data = (122324)# 统计元素出现次数data.count(2)  # 3# 查找元素索引(不存在则报错)data.index(3)        # 3data.index(225)  # 2,在索引2-5之间查找

四、高级技巧:元组解包

4.1 基础解包

# 变量数与元素数匹配point = (1020)x, y = point  # x=10, y=20# 函数多返回值(本质就是元组)def get_coordinates():    return 3040x, y = get_coordinates()# 优雅的变量交换a, b = 510a, b = b, a  # a=10, b=5

4.2 星号解包

numbers = (12345)# 获取首尾,中间用*收集first, *middle, last = numbers# first=1, middle=[2,3,4], last=5# 忽略某些元素(使用_占位符)_, second, *_, last = numbers# second=2, last=5# 函数调用解包def multiply(x, y):    return x * yparams = (34)multiply(*params)  # 12,等价于 multiply(34)

五、不可变性的深层理解

5.1 "不可变"的真实含义

# 元组存储的是引用,不可变的是引用本身t = (1, [2, 3], 4)# 不能修改元组的元素引用# t[1] = [5, 6]  # ❌ 报错# 但可以修改可变元素的内容t[1].append(7)   # ✅ 允许t[1][0] = 8      # ✅ 允许print(t)         # (1, [8, 3, 7], 4)

5.2 为什么需要不可变性?

1.数据安全:防止意外修改2.哈希支持:可作字典键3.性能优化:内存占用小,访问速度快4.线程安全:无需加锁保护

六、实用场景精选

6.1 配置项存储

# 数据库配置DB_CONFIG = ("localhost"3306"my_db""user""password")# 解包使用host, port, db, user, pwd = DB_CONFIG

6.2 函数多返回值

def analyze_data(data):    """返回统计结果"""    min_val = min(data)    max_val = max(data)    avg_val = sum(data) / len(data)    return min_val, max_val, avg_val  # 自动打包为元组# 解包接收min_val, max_val, avg_val = analyze_data([12345])

6.3 字典复合键

# 坐标到颜色的映射color_map = {    (0, 0): "red",    (0, 1): "green",    (1, 0): "blue"}print(color_map[(0, 1)])  # green

6.4 命名元组(更优雅的选择)

from collections import namedtuple# 定义结构Point = namedtuple('Point', ['x''y''z'])Color = namedtuple('Color', ['red''green''blue'])# 创建实例p = Point(102030)c = Color(25500)# 访问方式print(p.x, p.y, p.z)  # 10 20 30print(c.red)          # 255

七、元组 vs 列表:如何选择?

简单判断原则

如果数据创建后不需要修改 → 选择元组如果数据需要动态变化 → 选择列表如果需要哈希支持 → 必须用元组

八、性能对比

import sysimport timeit# 测试次数test_times = 5# 数据量data_size = 1000# 内存占用(固定,无需多次测试)t = tuple(range(data_size))l = list(range(data_size))print(f"元组内存占用:{sys.getsizeof(t)} 字节")print(f"列表内存占用:{sys.getsizeof(l)} 字节")# 创建速度:多次测试取平均值tuple_create_times = []list_create_times = []for _ in range(test_times):    tuple_time = timeit.timeit(f'tuple(range({data_size}))', number=10000)    list_time = timeit.timeit(f'list(range({data_size}))', number=10000)    tuple_create_times.append(tuple_time)    list_create_times.append(list_time)# 计算平均值avg_tuple_time = sum(tuple_create_times) / test_timesavg_list_time = sum(list_create_times) / test_timesprint(f"\n元组创建平均耗时:{avg_tuple_time:.6f} 秒")print(f"列表创建平均耗时:{avg_list_time:.6f} 秒")avg_tuple_time = timeit.timeit('(1,2,3,4,5,6,7,8,9,10)*100', number=10000)avg_list_time = timeit.timeit('[1,2,3,4,5,6,7,8,9,10]*100', number=10000)print(f"元组创建耗时:{avg_tuple_time:.6f}")print(f"列表创建耗时:{avg_list_time:.6f}")

Python 对列表的转换操作有更细致的底层优化,因此在该场景下列表创建略快,后面换成手动输入后,可以看出元组的创建速度更快

具体结果如下:

元组内存占用:8040 字节列表内存占用:8056 字节元组创建平均耗时:0.102996 秒列表创建平均耗时:0.085451 秒元组创建耗时:0.014062列表创建耗时:0.015652

我们之前强调的元组性能优势,核心是 元素访问速度(不可变序列内存布局更紧凑,解释器无需额外校验)和 内存占用效率(无冗余缓冲区),而非创建速度。创建速度的微小波动,不影响元组在只读场景下的性能优势。

九、最佳实践总结

1.单元素元组务必加逗号:(10,) 而非 (10)2.批量解包善用星号:first, *rest = data3.函数返回多值用元组:自动打包解包更优雅4.配置数据优先选元组:保证数据安全5.性能敏感场景用元组:内存占用小,访问快6.需要哈希时必须用元组:字典键、集合元素7.星号解包不能单独使用:*rest = (1,2,3) 会报错,必须搭配至少一个固定变量(first, *rest = (1,2,3) 合法);8.元组拼接 / 重复会生成新元组:原元组始终不变,频繁拼接大量数据时,建议先转为列表操作,再转回元组,提升性能;9.index() 方法查找不存在的元素会报错,若需安全查找,可先通过 in 判断元素是否存在,再调用 index()

元组的核心价值在于不可变性带来的安全性、哈希性和性能优势。在实际开发中,明确数据是否需要修改是选择元组还是列表的关键判断依据。

记住:当你想要一个不可变的列表时,你需要的就是元组。

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-02-09 05:44:34 HTTP/2.0 GET : https://f.mffb.com.cn/a/459861.html
  2. 运行时间 : 0.392408s [ 吞吐率:2.55req/s ] 内存消耗:4,911.33kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=bf9d47bfa32065342bdfac052d1c7af5
  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.000579s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000829s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.007307s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.004238s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000565s ]
  6. SELECT * FROM `set` [ RunTime:0.007947s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000617s ]
  8. SELECT * FROM `article` WHERE `id` = 459861 LIMIT 1 [ RunTime:0.055189s ]
  9. UPDATE `article` SET `lasttime` = 1770587074 WHERE `id` = 459861 [ RunTime:0.018883s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000375s ]
  11. SELECT * FROM `article` WHERE `id` < 459861 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.028340s ]
  12. SELECT * FROM `article` WHERE `id` > 459861 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.026827s ]
  13. SELECT * FROM `article` WHERE `id` < 459861 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.055826s ]
  14. SELECT * FROM `article` WHERE `id` < 459861 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.068847s ]
  15. SELECT * FROM `article` WHERE `id` < 459861 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.043248s ]
0.394865s