当前位置:首页>python>Python 小白起飞指南:第四阶段——面向对象与高级武器

Python 小白起飞指南:第四阶段——面向对象与高级武器

  • 2026-01-20 11:46:49
Python 小白起飞指南:第四阶段——面向对象与高级武器

在前三个阶段,我们写的代码都是“面向过程”的:数据是一堆变量,操作是一堆函数,按顺序执行。这没问题,但项目大了就会乱。第四阶段,我们学习 面向对象编程(OOP),把数据和操作数据的函数打包成“对象”,让代码更贴近现实世界,更好组织。同时,我们还会解锁一些 装饰器、生成器 等高级武器,让你的代码更简洁、更强大。

一、面向对象编程(OOP):用“对象”思考

1. 类和对象:从“图纸”到“实物”

  • 类(Class):就像一张设计图纸,定义了某种东西应该有什么(属性)和能做什么(方法)。
  • 对象(Object):根据图纸造出来的具体实物。

举个例子:

# 图纸:汽车设计图classCar:def__init__(self, brand, color):self.brand = brand  # 属性:品牌self.color = color  # 属性:颜色self.speed = 0# 属性:速度def drive(self):        # 方法:开车self.speed = 60print(f"{self.color}{self.brand}正在以{self.speed}km/h行驶")# 实物:根据图纸造出来的具体汽车my_car = Car("特斯拉""黑色")your_car = Car("比亚迪""白色")my_car.drive()  # 输出:黑色的特斯拉正在以60km/h行驶

self 是个关键:它代表“这个对象自己”。在类的方法里,想访问对象的属性或调用其他方法,都得通过 self.xxx

2. 封装:把细节“藏”起来

封装就是把数据和对数据的操作打包在一起,对外只暴露必要的接口,隐藏内部细节。在Python里,我们主要靠命名约定来实现:

  • 公开属性/方法:正常命名,如 speed、drive()
  • 受保护属性/方法:单下划线开头,如 _internal_data(约定俗成,告诉别人“别直接碰”)
  • 私有属性/方法:双下划线开头,如 __secret_key(Python会改名,防止意外访问)
Python
classBankAccount:def__init__(self, owner, balance):self.owner = owner          # 公开self._balance = balance     # 受保护(约定)self.__password = "123456"# 私有(会被改名成 _BankAccount__password)def deposit(self, amount):     # 公开接口if amount > 0:self._balance += amountprint(f"存款成功,余额:{self._balance}")else:print("存款金额必须大于0")# 使用account = BankAccount("小明"1000)account.deposit(500)      # ✅ 通过公开方法操作print(account.owner)     # ✅ 可以访问公开属性# print(account._balance) # ⚠️ 能访问,但不建议(约定)# print(account.__password) # ❌ 会报错,访问不到

3. 继承:子承父业,还能拓展

继承让一个类(子类)可以继承另一个类(父类)的属性和方法,实现代码复用和扩展。

Python
classAnimal:  # 父类(基类)def__init__(self, name):self.name = namedef eat(self):print(f"{self.name}在吃东西")classDog(Animal):  # 子类,继承Animaldef__init__(self, name, breed):super().__init__(name)  # 调用父类的初始化方法self.breed = breed      # 子类特有的属性def bark(self):            # 子类特有的方法print(f"{self.name}汪汪叫")# 使用dog = Dog("旺财""金毛")dog.eat()   # ✅ 继承来的方法dog.bark()  # ✅ 子类自己的方法

4. 多态:同一接口,不同表现

多态指不同的类可以有同名的方法,但具体实现不同。调用者不用关心具体是哪个类,只管调用。

Python

classCat(Animal):def eat(self):  # 重写父类方法print(f"{self.name}优雅地吃猫粮")classBird(Animal):def eat(self):  # 重写父类方法print(f"{self.name}快速地啄食")def feed_animal(animal):  # 这个函数不关心具体动物类型    animal.eat()# 传入不同的对象,表现不同feed_animal(Dog("阿黄""土狗"))  # 输出:阿黄在吃东西feed_animal(Cat("咪咪"))         # 输出:咪咪优雅地吃猫粮feed_animal(Bird("小翠"))        # 输出:小翠快速地啄食

这就是多态:同一个 feed_animal 函数,传入不同的动物对象,会调用各自类里定义的 eat 方法。

5. 类属性、类方法和静态方法

  • 类属性:属于类本身,所有实例共享。比如 Car.wheels = 4(所有汽车都有4个轮子)。
  • 类方法(@classmethod):第一个参数是 cls,代表类本身。常用于创建替代构造器或操作类属性。
  • 静态方法(@staticmethod):不需要 self或 cls,就是个普通函数,只是逻辑上属于这个类。
Python
classStudent:    school = "第一中学"# 类属性,所有学生共享def__init__(self, name):self.name = name    @classmethoddef change_school(cls, new_name):        cls.school = new_name  # 修改类属性print(f"学校已更名为:{cls.school}")    @staticmethoddef is_valid_name(name):# 静态方法,不依赖实例或类returnisinstance(name, strandlen(name) > 0# 使用stu1 = Student("张三")stu2 = Student("李四")print(stu1.school, stu2.school)  # 都是"第一中学"Student.change_school("实验中学")  # 通过类方法修改print(stu1.school)  # 现在也是"实验中学"(类属性变了)print(Student.is_valid_name(""))  # False

二、高级特性:让代码更优雅

1. 装饰器:给函数“穿衣服”

装饰器本质上是一个函数,它接受一个函数作为参数,并返回一个新函数。常用于给函数添加额外功能(如日志、计时、权限检查),而不修改原函数代码。

基础装饰器示例(计时器):

import timedef timer(func):def wrapper(*args, **kwargs):        start = time.time()        result = func(*args, **kwargs)  # 执行原函数        end = time.time()print(f"{func.__name__} 执行耗时:{end - start:.2f}秒")return resultreturn wrapper@timer  # 相当于 say_hello = timer(say_hello)def say_hello(name):    time.sleep(1)  # 模拟耗时操作print(f"你好,{name}!")say_hello("世界")# 输出:# 你好,世界!# say_hello 执行耗时:1.00秒

装饰器语法 @timer 只是语法糖,它把下面的函数 say_hello 作为参数传给 timer,然后用返回的 wrapper 函数替换原来的 say_hello

2. 生成器:懒加载的“数据流”

生成器是一种特殊的迭代器,它不会一次性生成所有数据,而是按需生成,节省内存。用yield 关键字定义。

Python

def count_up_to(max_num):"""生成从1到max_num的数字"""    n = 1while n <= max_num:yield n  # 每次yield返回一个值,并暂停在这里        n += 1# 使用for num in count_up_to(5):print(num)  # 依次输出 1 2 3 4 5# 或者手动调用gen = count_up_to(3)print(next(gen))  # 1print(next(gen))  # 2print(next(gen))  # 3# print(next(gen))  # ❌ 会报错 StopIteration

应用场景:处理大文件、无限序列、流式数据。比如读一个10GB的文件,用生成器可以一行一行处理,而不是一次性全读进内存。

3. 上下文管理器(with语句):自动管理资源

用 with 语句可以确保资源(如文件、网络连接)在使用后被正确清理,即使发生异常。

Python

# 传统方式(容易忘记关闭)f = open("test.txt""r")content = f.read()f.close()  # 必须记得关闭!# with语句(自动关闭)withopen("test.txt""r"as f:    content = f.read()# 退出with块后,文件自动关闭,即使中间出错

你也可以用 @contextmanager 装饰器创建自己的上下文管理器:

from contextlib import contextmanager@contextmanagerdef tag(name):print(f"<{name}>")yield# 这里是with块内部代码执行的地方print(f"</{name}>")with tag("div"):print("Hello World")# 输出:# <div># Hello World# </div>

三、第四阶段学习清单

1.理解类和对象的关系,能自己设计简单的类

2.掌握 __init__self 的用法,会定义实例属性和方法

3.理解封装的概念,知道 _ 和 __ 的命名约定

4.会使用继承创建子类,理解 super() 的作用

5.理解多态的概念,能写出体现多态的代码

6.区分实例属性、类属性、实例方法、类方法、静态方法

7.会使用简单的装饰器(如 @timer)给函数添加功能

8.理解生成器的概念,会用 yield 创建简单的生成器

9.熟练使用 with 语句管理文件等资源

四、小结:从“写脚本”到“设计程序”

第四阶段是思维方式的升级。面向对象让你用“对象”的视角建模现实问题,把数据和操作封装在一起,代码结构更清晰、更易维护。高级特性(装饰器、生成器、上下文管理器)则是Python提供的“语法糖”,让你用更少的代码做更多的事,写出更Pythonic(符合Python风格)的代码。

掌握了这些,你就不再是仅仅写脚本的“码农”,而是开始具备设计程序的能力。你可以:

  • 用类来组织一个游戏里的角色、道具、场景
  • 用装饰器给Web框架的路由函数自动添加登录检查
  • 用生成器流式处理大型数据集
  • 用上下文管理器确保数据库连接总是正确关闭

下一阶段,我们将进入 第五阶段:生态与方向,探索Python强大的第三方库,并选择你的专精方向(Web开发、数据分析、爬虫、自动化等)。准备好进入真正的项目实战了吗?我们下一篇见!

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-02-09 02:34:10 HTTP/2.0 GET : https://f.mffb.com.cn/a/460477.html
  2. 运行时间 : 0.337241s [ 吞吐率:2.97req/s ] 内存消耗:4,544.77kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=6e008d7ffde377e2ae587d2aa23473b2
  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.001095s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001420s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.001923s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.003344s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001356s ]
  6. SELECT * FROM `set` [ RunTime:0.005943s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001488s ]
  8. SELECT * FROM `article` WHERE `id` = 460477 LIMIT 1 [ RunTime:0.013060s ]
  9. UPDATE `article` SET `lasttime` = 1770575650 WHERE `id` = 460477 [ RunTime:0.007740s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.001711s ]
  11. SELECT * FROM `article` WHERE `id` < 460477 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.018514s ]
  12. SELECT * FROM `article` WHERE `id` > 460477 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.009904s ]
  13. SELECT * FROM `article` WHERE `id` < 460477 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.056127s ]
  14. SELECT * FROM `article` WHERE `id` < 460477 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.012499s ]
  15. SELECT * FROM `article` WHERE `id` < 460477 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.036361s ]
0.340948s