当前位置:首页>python>自学编程第16课:Python函数的偷懒技巧——默认参数、关键字参数、可变参数

自学编程第16课:Python函数的偷懒技巧——默认参数、关键字参数、可变参数

  • 2026-07-02 16:43:03
自学编程第16课:Python函数的偷懒技巧——默认参数、关键字参数、可变参数

昨天Tyree写完第15课的作业,得意得很。他把猜数字游戏用函数改得整整齐齐,还跑来给我演示:“妈妈你看,我现在想加一个新功能,只需要改一个函数就行,不用到处翻代码了。”

我说:“那你知道函数还能更灵活吗?比如你写一个打招呼的函数,有时候想叫‘朋友’,有时候想叫‘同学’,有时候想叫全名,怎么办?”

他说:“那就多写几个函数呗,

greet_friend()、greet_classmate()……”

我打断他:“其实不用那么麻烦。你可以给参数设默认值,不传的时候它自动用默认的,传了就用你传的。”

他试了试,觉得挺好。然后他又问:“那如果我写一个求和函数,有时候传2个数,有时候传100个数,参数个数不确定怎么办?”

我说:“那就用*args,它能把所有传进来的数打包成一个元组,你想加几个加几个。”

他很高兴:“这个好!那我就可以写一个万能计算器了。”

今天我们就来学这些让函数“更聪明”的写法:默认参数、关键字参数、可变参数*args和**kwargs。

学会了你的函数就能适应各种奇怪的需求,想怎么调就怎么调。

01. 

默认参数:给参数一个“保底值”

我们先写一个最简单的打招呼函数:

这个函数要求必须传一个name进去。如果你忘了传,比如写greet(),Python就会翻脸,报错说缺少一个参数。

但有时候我们想让这个函数“聪明”一点:如果传了名字,就用传的名字;如果没传,就默认叫“朋友”。

这就用到了默认参数。写法很简单,在定义参数的时候用等号给它一个默认值:

greet()           # 不传参数,输出:你好,朋友

greet("Tyree")    # 传参数,输出:你好,Tyree

注意,name="朋友"这里的等号不是赋值,而是在告诉Python:“如果你没收到这个参数,就用‘朋友’顶上。”这是一个保底值。

有一个很容易踩的坑:带默认值的参数必须放在后面。比如def func(a, b=10):是正确的,但def func(a=10, b):就会报错。

为什么呢?因为Python匹配参数是按顺序来的,如果把默认参数放在前面,后面的普通参数就永远收不到值了。

Tyree刚开始就写反了,报错后他记住了:“默认参数往后站。”

02. 

关键字参数:调用时指名道姓

正常情况下,我们调用函数是按位置传参的:

info("Tyree", 12, "茂名")   # 按顺序:name, age, city

这种方式叫“位置参数”。顺序必须跟函数定义一致,一旦写错了,比如写成

info(12, "Tyree", "茂名"),程序不会报错,但会把12当成名字,“Tyree”当成年龄,逻辑全乱。

Python提供了一种更安全的方式:关键字参数。调用的时候直接写上参数名,顺序可以随便调换:

info(city="茂名", name="Tyree", age=12)   # 顺序乱写也没事

这样写,每个值都明确告诉Python要传给哪个参数,既不用记顺序,代码读起来也清楚。

Tyree后来写了一个注册函数,有七八个参数,他全部用关键字参数调用,说:“这样我自己不会搞混,别人看我的代码也一眼就懂。”

有一个小规则:关键字参数必须放在位置参数的后面。

比如info("Tyree", city="茂名", age=12)是可以的,但info(name="Tyree", 12, "茂名")就会报错。

03. 

可变参数 *args:接受任意多个位置参数

假如你想写一个求和函数,但用户可能传2个数,也可能传10个数——参数个数不确定,怎么办?难道要写10个版本吗?

不用。Python有一个写法叫*args它会把所有多余的位置参数打包成一个元组(你可以把它当成一个列表来用):

这里的星号是关键。

它告诉Python:“把调用时传进来的所有位置参数,不管有多少个,统统收集起来,放进一个叫args的元组里。”

名字args可以随便取,但星号必须写。

Tyree第一次看到这个写法,问我:“为什么前面要加个星号?”

我让他试一下,如果写成

def sum_all(args):,调用sum_all(1,2,3)只会把(1,2,3)这个元组整体当成一个参数,函数体里循环一次就把整个元组当作一个数来处理,不会分别加。

他试了之后说:“哦,星号的意思是‘拆开装’。”没错,星号相当于一个收集袋,把散装的东西装到一起。

需要注意的是,*args只能接收不带名字的参数。

如果你写sum_all(a=1, b=2),它会报错,因为带名字的(关键字参数)不会被*args收走。

04. 

可变参数 **kwargs:接受任意多个关键字参数

*args处理的是没有名字的参数。那如果用户传进来的是name="Tyree"这种带名字的呢?用**kwargs

两个星号的作用是:把所有传入的关键字参数打包成一个字典。字典的key是参数名,value是参数值。你可以用.items()遍历它们。

items() 是字典自带的一个方法,它的作用是:把字典里的每一对“键-值”打包成一个元组,然后返回一个可以循环的视图。

Tyere问我:“为什么一个星号和两个星号不一样?”

我打了个比方:一个星号是把东西“排成一排”放进元组(像排队),两个星号是“贴上标签”放进字典(像快递柜,有取件码)。他听完后说:“我记住了,星号越多,结构越复杂。”

**kwargs必须放在所有参数的最后面。

05. 

综合使用:普通参数 + 默认参数 + *args + **kwargs

这些参数可以一起用,但顺序是固定的:

普通参数 → 默认参数 → *args → **kwargs。这个顺序不能乱,否则Python不知道哪个参数该归谁。

看下图代码

输出:

a= 1

b= 2

args= (3, 4, 5)

kwargs= {'name': 'Tyree', 'age': 12}

我们一步步看Python是怎么分配这些参数的:

第一个位置参数1,给了a。

第二个位置参数2,给了b(覆盖了默认值10)。

剩下的位置参数3,4,5,没有对应的普通参数了,所以被*args收走,变成元组(3,4,5)。

剩下的关键字参数

name="Tyree", age=12,没有对应的普通参数,被**kwargs收走,变成字典。

Tyree看了这个输出后说:“原来参数是这样一层层‘分配’的,先满足普通参数,再喂给*args,最后喂给**kwargs。”

他试着把b的默认值去掉,然后只传一个参数,结果报错了——因为b没有收到值。他总结:“顺序和数量都不能乱。”

06. 

小项目:用可变参数写一个“成绩计算器”

下面我们来写一个函数,接收任意多个成绩,返回总分、平均分、最高分、最低分

代码看下图示:

这里有一个容易被忽略的地方:如果调用时一个成绩都没传

(比如analyze_scores()),scores就是一个空元组。这时候直接计算total / len(scores)就会触发ZeroDivisionError(除以零错误)。

所以函数开头要先判断一下:

if not scores:,意思是“如果scores是空的”,就直接返回四个0。

Tyree一开始没加这个判断,程序崩溃了,他说:“原来函数也要考虑‘没数据’的情况。”这就是所谓的“边界条件”——程序在正常情况和极端情况下都要能跑。

另外,return后面跟了四个值,Python会自动把它们打包成一个元组。

调用方可以像第一段代码那样用一个变量接住整个元组,然后通过索引([0]、[1])取出来;也可以像第二段代码那样用多个变量直接解包。Tyree更喜欢解包的方式,觉得更直观。

08.

今天学到了什么?


默认参数def func(a=默认值):,调用时可以不传,用默认值顶替。


关键字参数func(参数名=值),传参时指名道姓,顺序随便。

可变位置参数def func(*args):,收集所有多余的位置参数,打包成元组


可变关键字参数def func(**kwargs):,收集所有多余的关键字参数,打包成字典。


参数顺序:普通 → 默认 → *args → **kwargs 顺序乱了Python就不认得路了。

kwargs全称是 Keyword Arguments(关键字参数)。

kw = Keyword(关键字,就是参数名)

args = Arguments(参数)


合起来 kwargs 就是“关键字参数们”。这个命名习惯来自Python社区,就像 *args 代表“位置参数们”一样。

好了今天课程就到这里,明天第17课:变量的作用域(局部与全局)。我们会学为什么函数内部的变量改不了外面的,以及怎么用global声明。


Tyree已经碰到过这个问题了——他试过在函数里直接修改外面的变量,结果没成功,明天正好给他讲清楚。

————热门推荐————

自学编程第15课:函数——把代码打包成“小工具”(def、参数、返回值)可反复调用

自学编程第13课:字符串——让电脑帮你“玩文字”

自学编程第7课:turtle画图入门(画一个正方形,五角形,螺旋形,三角形)

自学编程第6课:列表+循环+判断(做一个学生成绩分析器)

自学编程第3课:变量与数学计算(做一个年龄计算器)

自学编程第2课:用input让电脑问你名字(做一个打招呼程序)

自学编程第一步:安装Python和Thonny(零基础图文教程)

(本系列教程每天更新,欢迎关注收藏)

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-03 06:44:23 HTTP/2.0 GET : https://f.mffb.com.cn/a/494794.html
  2. 运行时间 : 0.122119s [ 吞吐率:8.19req/s ] 内存消耗:4,668.68kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=7a85af30e87193f07f07d353fd1934ac
  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.000596s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000840s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000278s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000267s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000526s ]
  6. SELECT * FROM `set` [ RunTime:0.000225s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000596s ]
  8. SELECT * FROM `article` WHERE `id` = 494794 LIMIT 1 [ RunTime:0.000437s ]
  9. UPDATE `article` SET `lasttime` = 1783032263 WHERE `id` = 494794 [ RunTime:0.005945s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000242s ]
  11. SELECT * FROM `article` WHERE `id` < 494794 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000418s ]
  12. SELECT * FROM `article` WHERE `id` > 494794 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000396s ]
  13. SELECT * FROM `article` WHERE `id` < 494794 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.005174s ]
  14. SELECT * FROM `article` WHERE `id` < 494794 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.012371s ]
  15. SELECT * FROM `article` WHERE `id` < 494794 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.024214s ]
0.123711s