当前位置:首页>python>Python学习--NameError 详解

Python学习--NameError 详解

  • 2026-06-30 21:33:37
Python学习--NameError 详解

一、什么是 NameError?

NameError 是 Python 中当你尝试访问一个未定义的变量、函数、模块或类时抛出的异常。这个异常表明你使用的名字在当前作用域中不存在。

二、NameError 的常见场景

1. 未定义的变量

def undefined_variable():    """访问未定义的变量"""    # 正确:定义了变量    name = "Alice"    print(name)  # Alice    # 错误:使用未定义的变量    try:        print(age)    except NameError as e:        print(f"错误: {e}")  # name 'age' is not definedundefined_variable()

2. 未定义的函数

def undefined_function():    """调用未定义的函数"""    # 正确:定义了函数    def greet():        return "Hello"    print(greet())  # Hello    # 错误:调用未定义的函数    try:        say_hello()    except NameError as e:        print(f"错误: {e}")  # name 'say_hello' is not definedundefined_function()

3. 未导入的模块

def unimported_module():    """使用未导入的模块"""    # 正确:导入模块    import math    print(math.sqrt(16))  # 4.0    # 错误:使用未导入的模块    try:        print(np.array([123]))    except NameError as e:        print(f"错误: {e}")  # name 'np' is not defined    # 正确:导入并使用别名    import numpy as np    # print(np.array([1, 2, 3]))  # 需要安装 numpyunimported_module()

三、NameError 的触发场景

1. 变量作用域问题

def scope_issues():    """作用域导致的 NameError"""    # 全局变量    global_var = "I'm global"    def outer_function():        # 外部函数变量        outer_var = "I'm outer"        def inner_function():            # 内部函数变量            inner_var = "I'm inner"            # 可以访问:全局、外部、内部变量            print(global_var)  # 正常            print(outer_var)   # 正常            print(inner_var)   # 正常        inner_function()        # 错误:无法访问内部函数的变量        try:            print(inner_var)        except NameError as e:            print(f"错误: {e}")  # name 'inner_var' is not defined    outer_function()    # 错误:无法访问函数内的局部变量    try:        print(outer_var)    except NameError as e:        print(f"错误: {e}")  # name 'outer_var' is not definedscope_issues()

2. 变量使用顺序错误

def order_issues():    """变量使用顺序导致的 NameError"""    # 错误:先使用后定义    try:        print(x)        x = 10    except NameError as e:        print(f"错误: {e}")  # name 'x' is not defined    # 正确:先定义后使用    y = 20    print(y)  # 20    # 特殊情况:在函数内部    def test():        try:            print(z)  # 这里会报错            z = 30        except NameError as e:            print(f"函数内错误: {e}")    test()order_issues()

3. 条件语句中的变量

def conditional_issues():    """条件语句中的变量作用域"""    # 变量只在某些分支中定义    condition = False    if condition:        message = "条件为真"    # 错误:message 可能未定义    try:        print(message)    except NameError as e:        print(f"错误: {e}")  # name 'message' is not defined    # 正确:确保变量在所有分支中都定义    if condition:        result = "真"    else:        result = "假"    print(result)  # 假    # 使用默认值    if condition:        data = "有数据"    else:        data = None    print(data)  # Noneconditional_issues()

4. 循环中的变量作用域

def loop_issues():    """循环中的变量作用域"""    # 在 Python 中,循环变量会泄露到外部作用域    for i in range(3):        pass    print(f"循环后 i = {i}")  # 2(i 仍然存在)    # 但如果是空循环,变量不会定义    for j in []:        pass    try:        print(j)    except NameError as e:        print(f"错误: {e}")  # name 'j' is not defined    # 列表推导式中的变量不会泄露    squares = [x**2 for x in range(3)]    try:        print(x)    except NameError as e:        print(f"推导式变量: {e}")  # name 'x' is not definedloop_issues()

5. 异常处理中的变量

def exception_issues():    """异常处理中的变量作用域"""    try:        result = 10 / 0    except ZeroDivisionError as e:        print(f"捕获异常: {e}")        # e 只在 except 块中可用    # 错误:e 在 except 块外不可用    try:        print(e)    except NameError as e:        print(f"except 块外: {e}")    # 正确:保存异常信息    try:        result = 10 / 0    except ZeroDivisionError as e:        error_info = str(e)    print(f"保存的异常: {error_info}")exception_issues()

四、处理 NameError 的方法

1. 使用 globals() 和 locals()

def use_globals_locals():    """使用 globals() 和 locals() 检查变量"""    name = "Alice"    age = 25    # 检查全局变量    if 'name' in globals():        print(f"全局变量 name: {globals()['name']}")    # 检查局部变量    if 'age' in locals():        print(f"局部变量 age: {locals()['age']}")    # 安全访问函数    def safe_get(var_name, default=None):        """安全获取变量值"""        if var_name in locals():            return locals()[var_name]        elif var_name in globals():            return globals()[var_name]        return default    print(safe_get('name''unknown'))    # Alice    print(safe_get('city''Beijing'))    # Beijinguse_globals_locals()

2. 使用 try-except 捕获

def catch_name_error():    """使用 try-except 捕获 NameError"""    def safe_execute(func, *args, default=None):        """安全执行函数"""        try:            return func(*args)        except NameError as e:            print(f"函数未定义: {e}")            return default    # 定义函数    def add(a, b):        return a + b    # 调用存在的函数    print(safe_execute(add, 1020))  # 30    # 调用不存在的函数    print(safe_execute(multiply, 1020, default=0))  # 0catch_name_error()

3. 动态检查模块导入

def dynamic_import():    """动态导入模块避免 NameError"""    def safe_import(module_name):        """安全导入模块"""        try:            module = __import__(module_name)            return module        except ImportError:            print(f"模块 '{module_name}' 不存在")            return None    # 导入标准库    math = safe_import('math')    if math:        print(math.sqrt(25))  # 5.0    # 导入不存在的模块    numpy = safe_import('numpy')    if numpy is None:        print("使用纯 Python 实现")        # 使用备选方案        def sqrt(x):            return x ** 0.5        print(sqrt(25))dynamic_import()

五、常见陷阱和解决方案

1. 变量名拼写错误

def spelling_trap():    """变量名拼写错误"""    user_name = "Alice"    # 错误:拼写错误    try:        print(usre_name)    except NameError as e:        print(f"拼写错误: {e}")    # 正确:使用正确的变量名    print(user_name)    # 使用 IDE 的自动补全可以减少此类错误    # 使用有意义的变量名    # 使用 linter 工具检查spelling_trap()

2. 模块导入别名混淆

def import_alias_trap():    """模块导入别名混淆"""    # 正确导入    import datetime as dt    # 错误:使用了错误的别名    try:        print(datetime.datetime.now())    except NameError as e:        print(f"错误: {e}")  # name 'datetime' is not defined    # 正确:使用定义的别名    print(dt.datetime.now())    # 或者导入整个模块    import datetime    print(datetime.datetime.now())import_alias_trap()

3. 类属性 vs 实例属性

def class_vs_instance_trap():    """类属性和实例属性混淆"""    class Person:        species = "Homo sapiens"  # 类属性        def __init__(self, name):            self.name = name  # 实例属性    p = Person("Alice")    # 正确访问    print(p.name)        # 实例属性    print(p.species)     # 类属性    print(Person.species) # 类属性    # 错误:访问不存在的属性    try:        print(Person.name)    except AttributeError as e:        print(f"错误: {e}")  # AttributeError, not NameError    # NameError 示例    try:        print(age)    except NameError as e:        print(f"NameError: {e}")class_vs_instance_trap()

4. 全局变量修改

def global_variable_trap():    """全局变量修改陷阱"""    counter = 0    def increment_bad():        # 错误:这里创建了一个局部变量,而不是修改全局变量        counter += 1  # UnboundLocalError    def increment_good():        global counter        counter += 1    # increment_bad()  # UnboundLocalError    increment_good()    print(counter)  # 1    # 对于可变对象    items = []    def add_item(item):        items.append(item)  # 正确:修改列表对象    add_item(10)    print(items)  # [10]global_variable_trap()

六、避免 NameError 的最佳实践

1. 使用变量前先定义

def best_practice_define_first():    """先定义后使用"""    # 错误示例    def bad_example(condition):        if condition:            result = "True"        # result 可能在条件为假时未定义        return result  # NameError if condition is False    # 正确示例    def good_example(condition):        result = None  # 先定义默认值        if condition:            result = "True"        return result    print(good_example(True))   # True    print(good_example(False))  # Nonebest_practice_define_first()

2. 使用默认值

def best_practice_default():    """使用默认值避免 NameError"""    # 使用字典存储变量    context = {}    def get_var(name, default=None):        return context.get(name, default)    # 设置变量    context['name'] = 'Alice'    # 安全获取    name = get_var('name''Unknown')    age = get_var('age'0)    print(f"Name: {name}, Age: {age}")    # 使用 locals() 和 globals()    x = 10    y = 20    def safe_get(var_name, default=None):        if var_name in locals():            return locals()[var_name]        if var_name in globals():            return globals()[var_name]        return default    print(safe_get('x'0))      # 10    print(safe_get('z'100))    # 100best_practice_default()

3. 使用字典管理动态变量

def best_practice_dict():    """使用字典管理动态变量"""    class VariableScope:        """变量作用域管理"""        def __init__(self):            self._variables = {}        def set(self, name, value):            """设置变量"""            self._variables[name] = value        def get(self, name, default=None):            """获取变量"""            return self._variables.get(name, default)        def has(self, name):            """检查变量是否存在"""            return name in self._variables        def __getattr__(self, name):            """通过属性访问"""            if name in self._variables:                return self._variables[name]            raise AttributeError(f"变量 '{name}' 不存在")        def __setattr__(self, name, value):            """通过属性设置"""            if name == '_variables':                super().__setattr__(name, value)            else:                self._variables[name] = value    # 使用    scope = VariableScope()    scope.set('name''Alice')    scope.age = 25    print(scope.get('name'))     # Alice    print(scope.get('city''Beijing'))  # Beijing    print(scope.name)            # Alice    print(scope.age)             # 25    try:        print(scope.email)    except AttributeError as e:        print(f"错误: {e}")best_practice_dict()

4. 使用类型提示和 IDE 支持

from typing import Optionaldef best_practice_type_hints():    """使用类型提示避免 NameError"""    class User:        def __init__(self, name: str, age: Optional[int] = None):            self.name = name            self.age = age        def get_info(self) -> str:            """获取用户信息"""            info = f"Name: {self.name}"            if self.age is not None:                info += f", Age: {self.age}"            return info    user = User("Alice"25)    print(user.get_info())    # IDE 会提示变量名错误    # print(user.namee)  # IDE 会高亮显示错误best_practice_type_hints()

七、总结

NameError 要点表格

 特性
说明
 触发条件
访问未定义的变量、函数、模块、类
 常见原因
拼写错误、作用域问题、导入错误、使用顺序错误
 处理方法
先定义后使用、使用默认值、检查作用域
 调试方法
使用 globals()locals()dir()
 最佳实践
初始化变量、使用字典管理动态变量、类型提示

快速检查清单

 问题
检查项
 变量名拼写正确吗?
检查大小写、下划线、拼写
 变量定义了吗?
检查变量定义的位置
 变量在作用域内吗?
检查全局/局部作用域
 模块导入了吗?
检查 import 语句
 使用顺序正确吗?
先定义后使用

NameError 是 Python 中最基础的异常之一,理解其产生原因和处理方法对于编写可靠的代码至关重要。通过遵循最佳实践,如先定义后使用、使用默认值、合理管理作用域等,可以有效地避免这类错误。

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-03 21:46:08 HTTP/2.0 GET : https://f.mffb.com.cn/a/486836.html
  2. 运行时间 : 0.138928s [ 吞吐率:7.20req/s ] 内存消耗:4,772.12kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=24ce837610adc7221328ed0d21359db7
  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.001730s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000662s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.012946s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000323s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000615s ]
  6. SELECT * FROM `set` [ RunTime:0.000223s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000579s ]
  8. SELECT * FROM `article` WHERE `id` = 486836 LIMIT 1 [ RunTime:0.001141s ]
  9. UPDATE `article` SET `lasttime` = 1783086368 WHERE `id` = 486836 [ RunTime:0.019144s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.001431s ]
  11. SELECT * FROM `article` WHERE `id` < 486836 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.012189s ]
  12. SELECT * FROM `article` WHERE `id` > 486836 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.005800s ]
  13. SELECT * FROM `article` WHERE `id` < 486836 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.010231s ]
  14. SELECT * FROM `article` WHERE `id` < 486836 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.002942s ]
  15. SELECT * FROM `article` WHERE `id` < 486836 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.001009s ]
0.140573s