当前位置:首页>python>Python 函数:掌握代码复用核心,提升开发效率

Python 函数:掌握代码复用核心,提升开发效率

  • 2026-02-26 14:23:35
Python 函数:掌握代码复用核心,提升开发效率

Python 函数:掌握代码复用核心,提升开发效率

在编程中,经常会遇到 “重复编写相同或相似代码” 的场景(比如多次计算列表求和、判断数据合法性)。函数(Function)就是为解决这一问题而生的 —— 它将一段实现特定功能的代码块 “封装” 起来,通过一个名字调用,实现代码的复用性可维护性。今天就全面讲解 Python 函数的核心用法,从基础定义到实战封装,让你轻松用函数优化代码结构!

一、函数的定义与调用:从 “代码块” 到 “工具”

函数的使用分为两步:定义函数(封装代码块)和调用函数(使用封装好的功能)。Python 用def关键字定义函数,语法简洁清晰。

1. 函数的基本定义

语法结构

def 函数名(参数列表):

&
#x20;   """函数的文档字符串(可选,用于说明功能)"""

    # 函数体:实现功能的代码块

    代码语句

    # 返回值(可选,用return语句返回结果)

    return 返回值
  • 函数名:遵循 Python 命名规范(小写字母、下划线分隔,如calculate_sum),见名知意;

  • 参数列表:函数接收的 “输入数据”,可选(无参数时括号留空);

  • 文档字符串(docstring):用三重引号包裹,说明函数功能、参数、返回值等,增强可读性;

  • 函数体:实现函数核心功能的代码,需缩进(通常 4 个空格);

  • return 语句:函数的 “输出结果”,可选(无 return 时默认返回None)。

实战示例:定义一个 “计算两个数之和” 的函数

def calculate\_sum(a, b):

    """计算两个数的和

    

    参数:

        a: 第一个数字(int/float)

        b: 第二个数字(int/float)

    

    返回:

        int/float: 两个数的和

    """

    result = a + b  # 函数体:计算和

    return result   # 返回结果

2. 函数的调用

定义函数后,需要通过 “函数名 + 括号” 调用,才能执行函数体中的代码并获取结果。

语法结构

函数名(参数值列表)  # 传入参数值,调用函数

实战示例:调用calculate_sum函数

\# 1. 调用函数,传入参数值,获取返回结果

sum\_result = calculate\_sum(3, 5)

print("3 + 5 =", sum\_result)  # 输出:3 + 5 = 8

\# 2. 直接调用函数,不接收返回结果(仅执行函数体)

calculate\_sum(10, 20)  # 函数会执行,但结果不会被保存

\# 3. 函数返回值可直接作为其他操作的参数

print("100 + 200 =", calculate\_sum(100, 200))  # 输出:100 + 200 = 300

注意:

调用函数时,传入的 “参数值数量” 和 “类型” 需与函数定义的 “参数列表” 匹配,否则可能报错(如calculate_sum(3)会因缺少参数报错,calculate_sum("a", 5)会因类型不匹配报错)。

3. 无参数、无返回值的函数

函数的参数和返回值都是可选的,可根据功能需求灵活设计。比如定义一个 “打印欢迎信息” 的函数,无需输入参数,也无需返回结果:

def print\_welcome():

    """打印欢迎信息(无参数、无返回值)"""

    print("=" \* 20)

    print("欢迎使用Python函数演示系统")

    print("=" \* 20)

\# 调用函数

print\_welcome()

运行结果

\====================

欢迎使用Python函数演示系统

\====================

二、函数参数:灵活传递输入数据

参数是函数与外部交互的 “接口”,Python 支持多种参数类型,能满足不同场景下的输入需求。按使用方式可分为:位置参数、关键字参数、默认参数、可变参数等。

1. 位置参数:按顺序传递的 “基础参数”

位置参数是最常用的参数类型,调用时需按函数定义的 “参数顺序” 传入对应的值,数量必须一致。

示例:定义一个 “计算长方形面积” 的函数(需传入长和宽两个位置参数)

def calculate\_rect\_area(length, width):

    """计算长方形面积(位置参数示例)

    

    参数:

        length: 长方形的长(int/float)

        width: 长方形的宽(int/float)

    

    返回:

        int/float: 长方形的面积

    """

    area = length \* width

    return area

\# 调用函数:按顺序传入长和宽(位置参数必须按顺序)

area1 = calculate\_rect\_area(5, 3)  # length=5,width=3

area2 = calculate\_rect\_area(3, 5)  # length=3,width=5

print("长方形1面积:", area1)  # 输出:15

print("长方形2面积:", area2)  # 输出:15(长和宽交换,面积不变)

注意:

如果位置参数顺序错误,可能导致逻辑错误(比如计算 “长方形周长” 时,参数顺序错误不影响结果,但计算 “时间差” 时顺序错误会导致结果为负)。

2. 关键字参数:按名称传递的 “清晰参数”

关键字参数通过 “参数名 = 值” 的形式传入,无需按顺序,能明确每个值对应的参数,增强代码可读性,尤其适合参数较多的场景。

示例:用关键字参数调用calculate_rect_area函数

\# 1. 纯关键字参数调用(顺序可任意)

area1 = calculate\_rect\_area(length=5, width=3)

area2 = calculate\_rect\_area(width=3, length=5)  # 顺序交换,结果一致

print("面积1:", area1)  # 输出:15

print("面积2:", area2)  # 输出:15

\# 2. 位置参数与关键字参数混合调用(位置参数必须在关键字参数之前)

area3 = calculate\_rect\_area(5, width=3)  # 正确:位置参数在前

\# area4 = calculate\_rect\_area(length=5, 3)  # 错误:关键字参数不能在位置参数之前

规则:

  • 混合调用时,位置参数必须在关键字参数左侧

  • 一个参数不能同时用位置和关键字传递(如calculate_rect_area(5, length=3)会报错,length被重复赋值)。

3. 默认参数:有 “默认值” 的 “可选参数”

默认参数在函数定义时指定 “默认值”,调用时若未传入该参数,则使用默认值;若传入,则覆盖默认值。默认参数适合 “大多数情况下使用固定值,少数情况需要自定义” 的场景。

语法:

def 函数名(参数1, 参数2=默认值, 参数3=默认值, ...):

    函数体

示例:定义一个 “计算商品总价” 的函数(默认折扣为 1.0,即无折扣)

def calculate\_total\_price(price, quantity, discount=1.0):

    """计算商品总价(默认参数示例)

    

    参数:

        price: 商品单价(int/float)

        quantity: 购买数量(int)

        discount: 折扣率(int/float,默认1.0,即无折扣)

    

    返回:

        int/float: 商品总价(单价 \* 数量 \* 折扣率)

    """

    total = price \* quantity \* discount

    return total

\# 1. 未传入折扣,使用默认值1.0

total1 = calculate\_total\_price(100, 5)  # 单价100,数量5,折扣1.0

print("总价1(无折扣):", total1)  # 输出:500.0

\# 2. 传入折扣,覆盖默认值

total2 = calculate\_total\_price(100, 5, 0.8)  # 折扣0.8(8折)

total3 = calculate\_total\_price(100, 5, discount=0.7)  # 关键字参数传折扣

print("总价2(8折):", total2)  # 输出:400.0

print("总价3(7折):", total3)  # 输出:350.0

注意:

  • 默认参数必须放在位置参数右侧(如def func(a=1, b)会报错,默认参数不能在普通位置参数之前);

  • 默认参数的默认值应设为不可变类型(如 int、str、tuple),避免使用 list、dict 等可变类型(否则默认值可能被多次调用修改,导致意外结果)。

4. 可变参数:接收 “任意数量” 的参数

当函数需要接收的参数数量不确定时(比如计算任意多个数的和),可以用可变参数*args(接收任意多个位置参数,打包成元组)和**kwargs(接收任意多个关键字参数,打包成字典)。

(1)*args:接收任意多个位置参数

*args中的*表示 “可变参数”,args是约定俗成的参数名(可自定义,但推荐用args),函数内部args是一个元组,包含所有传入的位置参数。

示例:定义一个 “计算任意多个数之和” 的函数

def calculate\_sum(\*args):

    """计算任意多个数的和(\*args示例)

    

    参数:

        \*args: 任意多个位置参数(int/float)

    

    返回:

        int/float: 所有参数的和

    """

    total = 0

    for num in args:  # args是元组,可遍历

        total += num

    return total

\# 调用函数:传入任意数量的位置参数

sum1 = calculate\_sum(1, 2, 3)  # args = (1, 2, 3)

sum2 = calculate\_sum(10, 20, 30, 40)  # args = (10, 20, 30, 40)

sum3 = calculate\_sum()  # args = (),返回0

print("sum1:", sum1)  # 输出:6

print("sum2:", sum2)  # 输出:100

print("sum3:", sum3)  # 输出:0

(2)**kwargs:接收任意多个关键字参数

**kwargs中的**表示 “关键字可变参数”,kwargs是约定俗成的参数名(可自定义,推荐用kwargs),函数内部kwargs是一个字典,包含所有传入的 “参数名 = 值” 对。

示例:定义一个 “打印用户信息” 的函数(支持任意多个关键字参数)

def print\_user\_info(\*\*kwargs):

    """打印用户信息(\*\*kwargs示例)

    

    参数:

        \*\*kwargs: 任意多个关键字参数(如name、age、city等)

    

    返回:

        None

    """

    print("用户信息:")

    for key, value in kwargs.items():  # kwargs是字典,可遍历键值对

        print(f"{key}: {value}")

\# 调用函数:传入任意数量的关键字参数

print\_user\_info(name="小明", age=20, city="北京")  # kwargs = {"name":"小明", "age":20, "city":"北京"}

print\_user\_info(name="小红", gender="女")  # kwargs = {"name":"小红", "gender":"女"}

运行结果(第一次调用)

用户信息:

name: 小明

age: 20

city: 北京

(3)*args**kwargs混合使用

*args**kwargs可同时用于一个函数,此时*args必须在**kwargs左侧,能同时接收任意数量的位置参数和关键字参数。

示例:

def mixed\_args(\*args, \*\*kwargs):

    """混合使用\*args和\*\*kwargs"""

    print("位置参数(args):", args)

    print("关键字参数(kwargs):", kwargs)

\# 调用函数

mixed\_args(1, 2, 3, name="小明", age=20)

运行结果

位置参数(args): (1, 2, 3)

关键字参数(kwargs): {'name''小明''age': 20}

5. 参数解包:将 “容器” 拆分为参数

当已有一个列表(或元组)、字典,想将其元素作为函数的参数传入时,可以用参数解包

  • 列表 / 元组用*解包,拆分为位置参数;

  • 字典用**解包,拆分为关键字参数。

示例 1:列表解包(*)作为位置参数

def calculate\_rect\_area(length, width):

    """计算长方形面积"""

    return length \* width

\# 已有一个列表,存储长和宽

rect\_dimensions = \[5, 3]  # 对应length=5,width=3

\# 解包列表,作为位置参数传入

area = calculate\_rect\_area(\*rect\_dimensions)  # 等价于 calculate\_rect\_area(5, 3)

print("长方形面积:", area)  # 输出:15

示例 2:字典解包(**)作为关键字参数

def print\_user\_info(name, age):

    """打印用户信息"""

    print(f"姓名:{name},年龄:{age}")

\# 已有一个字典,存储用户信息

user\_info = {"name""小明""age": 20}  # 对应name="小明",age=20

\# 解包字典,作为关键字参数传入

print\_user\_info(\*\*user\_info)  # 等价于 print\_user\_info(name="小明", age=20)

运行结果

姓名:小明,年龄:20

三、函数返回值:输出函数执行结果

函数的返回值用return语句定义,是函数对外部的 “输出”。return有两个核心作用:返回结果终止函数return后的代码不会执行)。

1. 基本返回值(单个结果)

一个函数可以返回任意类型的数据(int、str、list、dict 等),也可以返回另一个函数的调用结果。

示例:返回列表中的最大值

def find\_max(numbers):

    """找到列表中的最大值

    

    参数:

        numbers: 包含数字的列表(list)

    

    返回:

        int/float: 列表中的最大值;若列表为空,返回None

    """

    if not numbers:  # 判断列表是否为空

        return None  # 空列表返回None

    max\_num = numbers\[0]

    for num in numbers\[1:]:

        if num > max\_num:

            max\_num = num

    return max\_num  # 返回最大值

\# 调用函数

max1 = find\_max(\[1, 3, 5, 2])

max2 = find\_max(\[])  # 空列表

print("最大值1:", max1)  # 输出:5

print("最大值2:", max2)  # 输出:None

2. 多个返回值

Python 支持一个函数返回多个值,用逗号分隔多个返回值,函数会自动将其打包成一个元组;调用时可通过 “多变量赋值” 拆包接收。

示例:返回列表中的最大值和最小值

def find\_max\_min(numbers):

    """找到列表中的最大值和最小值

    

    参数:

        numbers: 包含数字的列表(list)

    

    返回:

        tuple: (最大值, 最小值);若列表为空,返回(None, None)

    """

    if not numbers:

        return None, None

    max\_num = min\_num = numbers\[0]

    for num in numbers\[1:]:

        if num > max\_num:

            max\_num = num

&#x20;       if num < min\_num:

&#x20;           min\_num = num

&#x20;   return max\_num, min\_num  # 多个返回值,自动打包成元组

\# 调用函数:多变量赋值拆包

max\_val, min\_val = find\_max\_min(\[1, 3, 5, 2, 0])

print("最大值:", max\_val)  # 输出:5

print("最小值:", min\_val)  # 输出:0

\# 也可以用单个变量接收(得到元组)

result = find\_max\_min(\[10, 20, 5])

print("结果(元组):", result)  # 输出:(20, \</doubaocanvas>

(注:文档部分内容可能由 AI 生成)

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-03-01 05:05:15 HTTP/2.0 GET : https://f.mffb.com.cn/a/475974.html
  2. 运行时间 : 0.193665s [ 吞吐率:5.16req/s ] 内存消耗:4,754.65kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=515eb809aaa6b23293b310234f9f9c3b
  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.000994s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001647s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000735s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000700s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001693s ]
  6. SELECT * FROM `set` [ RunTime:0.000618s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001736s ]
  8. SELECT * FROM `article` WHERE `id` = 475974 LIMIT 1 [ RunTime:0.003690s ]
  9. UPDATE `article` SET `lasttime` = 1772312715 WHERE `id` = 475974 [ RunTime:0.001982s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000707s ]
  11. SELECT * FROM `article` WHERE `id` < 475974 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001172s ]
  12. SELECT * FROM `article` WHERE `id` > 475974 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001078s ]
  13. SELECT * FROM `article` WHERE `id` < 475974 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.002321s ]
  14. SELECT * FROM `article` WHERE `id` < 475974 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.002044s ]
  15. SELECT * FROM `article` WHERE `id` < 475974 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.002491s ]
0.198079s