当前位置:首页>python>从 0 到 1 学 Python 对象|类、继承、封装、多态实战

从 0 到 1 学 Python 对象|类、继承、封装、多态实战

  • 2026-02-05 01:04:41
从 0 到 1 学 Python 对象|类、继承、封装、多态实战

Hello 各位小伙伴,我是小黄~

刚接触 Python 面向对象编程时,你是不是也和我当年一样,被「类、实例、属性、方法」这几个词绕得晕头转向?看着教程里的代码能顺畅运行,可自己动手写就频频报错,连最简单的类都调试不通,更别说理解继承、封装、多态这些核心概念了。

其实 Python 对象压根没那么难,它不是凭空造出来的复杂理论,而是一种能让代码更简洁、更易维护的编程思维。今天这篇文章,我就从纯 0 基础视角出发,用大白话+可直接复制的实战案例,把类、继承、封装、多态一次性讲透,没有晦涩难懂的专业术语,全是能直接上手的干货,帮你从 0 到 1 轻松吃透 Python 对象编程。

一、基础入门:搞懂类和实例,才算真正入门

学 Python 对象,第一步不用死背「万物皆对象」这种抽象口号,先吃透两个核心概念:实例,这是所有知识点的根基,搞懂它们,后续内容就能轻松跟上。

1. 类:对象的「生产模板」

类就像手机工厂的生产模板,模板里明确规定了手机的基础特征(比如品牌、内存)和核心功能(比如打电话、拍照),但模板本身不是能直接使用的手机,只是一个统一的规范和标准。

在 Python 中,用 class 关键字就能定义类,命名规则很简单,一般采用大驼峰(首字母大写,单词之间直接相连),比如 Phone(手机类)、Student(学生类),一眼就能区分出是类名。

2. 实例:根据模板造出来的「具体对象」

用类这个「模板」造出来的具体事物,就是实例,也叫对象。比如根据手机模板造出来的小米128G手机、华为256G手机,都是独立的实例——它们既有模板规定的共性(能打电话),也有自己的个性(品牌、内存不同),各自有专属的属性,也能执行模板规定的方法。

3. 实战代码:写第一个Python类(新手可直接抄)

话不多说,直接上实战代码!这是我当年入门时写的第一个类,简单易懂,没有多余逻辑,新手直接复制粘贴就能运行,快速get类和实例的用法:

# 定义类:手机模板
classPhone:
# 初始化方法:给实例设置属性(品牌、内存)
# self 代表实例本身,是必传参数,不用手动传值
def__init__(self, brand, memory):
        self.brand = brand  # 实例属性:品牌
        self.memory = memory  # 实例属性:内存

# 定义方法:手机的功能(打电话)
defcall(self):
        print(f"{self.brand}手机({self.memory})正在打电话")

# 创建实例:根据模板造具体的手机
my_phone = Phone("小米""128G")
your_phone = Phone("华为""256G")

# 调用实例的方法
my_phone.call()  # 输出:小米手机(128G)正在打电话
your_phone.call()  # 输出:华为手机(256G)正在打电话

💡 新手必记(避坑重点):__init__ 是初始化方法,专门用来给实例绑定属性,第一个参数永远是 self,代表当前创建的实例本身,绝对不能省略!否则运行必报错。

二、核心基础:属性和方法,避开80%的新手坑

搞懂类和实例后,接下来的核心就是属性(对象的特征,比如手机的品牌、内存)和方法(对象的行为,比如手机打电话)——新手80%的报错都出在这里,这3个高频坑,一定要重点避开!

1. 实例属性 vs 类属性:别混着用(新手高频坑)

Python 中的属性分两种:实例属性类属性,核心区别就一个:是否被所有实例共享,用表格对比更清晰,新手一看就懂:

  • 实例属性:每个实例独有的属性,用 self.属性名 定义,比如每个手机的品牌、内存,互不影响、各自独立;

  • 类属性:所有实例共享的属性,直接在类中定义,不用加 self,比如所有手机都有「通讯功能」,修改后所有实例都会受影响。

❌ 避坑重点:别随便修改类属性!我当年就踩过这个坑,修改类属性后,所有实例的该属性全跟着变,排查了2小时才找到问题,实战代码演示错误操作:

classPhone:
    type = "智能手机"# 类属性:所有手机共享
def__init__(self, brand):
        self.brand = brand  # 实例属性

# 错误操作:直接修改类属性
Phone.type = "功能机"
p1 = Phone("小米")
p2 = Phone("华为")
print(p1.type, p2.type)  # 输出:功能机 功能机,所有实例都受影响

2. 3种方法:实例方法/类方法/静态方法,用对场景就不懵

方法也分3种类型,新手不用死记硬背语法,记住适用场景就够了——90%的实战场景,用实例方法就能搞定,不用过度纠结复杂用法:

方法类型
定义方式
核心参数
适用场景
实例方法
直接定义,无装饰器
self(代表实例)
操作实例属性(最常用)
类方法
加装饰器 @classmethod
cls(代表类本身)
操作类属性,不涉及实例
静态方法
加装饰器 @staticmethod
无默认参数
和类/实例无关的工具函数

实战代码演示(可直接复制运行),一看就懂用法,新手跟着练一遍就能掌握:

classPhone:
    type = "智能手机"# 类属性

def__init__(self, brand):
        self.brand = brand  # 实例属性

# 实例方法:操作实例属性(最常用)
defshow_brand(self):
        print(f"手机品牌:{self.brand}")

# 类方法:操作类属性,加@classmethod,参数用cls
    @classmethod
defchange_type(cls, new_type):
        cls.type = new_type
        print(f"类属性修改为:{cls.type}")

# 静态方法:工具函数,加@staticmethod,无默认参数
    @staticmethod
defcalculate_price(original, discount):
return original * discount  # 计算折扣价

# 调用实例方法:先创建实例,再调用
p = Phone("苹果")
p.show_brand()  # 输出:手机品牌:苹果

# 调用类方法:直接用类名调用,不用创建实例
Phone.change_type("5G手机")  # 输出:类属性修改为:5G手机

# 调用静态方法:直接用类名调用,当作普通工具函数用
print(Phone.calculate_price(50000.8))  # 输出:4000

3. 私有属性/方法:别在外部硬改(隐形坑)

在属性或方法名前面加两个下划线 __,它就变成了私有属性/方法——核心特点是:只能在类的内部使用,外部不能直接调用、不能直接修改,目的是保护类的内部逻辑不被破坏。

❌ 避坑重点:别在类的外部强行修改私有属性!Python 不会报错,但会偷偷创建一个新的普通属性,原来的私有属性压根没被修改,我当年就栽过这个坑,调试了半天都没找到问题:

classPhone:
def__init__(self, price):
        self.__price = price  # 私有属性:价格,只能在类内部使用

defshow_price(self):
        print(f"手机价格:{self.__price}")

p = Phone(5000)
p.__price = 3000# 看似修改成功,实际创建了新的普通属性
p.show_price()  # 输出:5000,原私有属性未变

三、进阶核心:继承——站在巨人的肩膀上写代码

学会继承,才算真正入门面向对象编程——它的核心作用就一个:复用代码,不用重复写已经有的功能,减少冗余、提升开发效率,新手掌握单继承,就能应对日常90%的实战需求。

1. 继承的基础用法:子类继承父类的所有功能

在 Python 中,继承的用法特别简单:定义子类时,把父类(也叫基类)写在子类名后面的括号里,子类就会自动继承父类的所有属性和方法,不用重复编写。

比如定义「智能手机」子类,继承「手机」父类,不用重复写「打电话」这个方法,直接复用父类的功能,只需要新增自己的专属方法即可:

# 父类:手机(基类),包含基础功能
classPhone:
defcall(self):
        print("正在打电话")

# 子类:智能手机(派生类),继承Phone父类
classSmartPhone(Phone):
# 子类新增自己的专属方法(父类没有的功能)
defplay_video(self):
        print("正在刷视频")

# 子类可以直接调用父类的方法(复用代码)
sp = SmartPhone()
sp.call()  # 输出:正在打电话(继承父类的方法)
sp.play_video()  # 输出:正在刷视频(子类自有方法)

2. 方法重写:子类有自己的专属逻辑

有时候,子类的功能和父类不一样,不想完全沿用父类的方法,这时候直接「重写」就行——在子类中写一个和父类同名的方法,运行时会优先执行子类的方法,自动覆盖父类的原有逻辑。

比如老年机子类,需要适配老年人需求,重写「打电话」方法,增加「大音量」逻辑,实战代码演示:

# 父类:Phone
classPhone:
defcall(self):
        print("正在打电话")

# 子类:老年机,重写父类的call方法
classOldPhone(Phone):
defcall(self):# 和父类方法名相同,实现重写
        print("大音量正在打电话,适配老年人")

op = OldPhone()
op.call()  # 输出:大音量正在打电话,适配老年人(执行子类方法)

3. super() 函数:复用父类逻辑,再加子类功能(实战高频)

子类重写方法后,如果不想完全抛弃父类的逻辑,只想在父类逻辑的基础上,增加子类自己的功能——用 super() 函数就够了!它能直接调用父类的方法,不用重复写代码,是实战中最常用的技巧。

# 父类:Phone
classPhone:
defcall(self):
        print("正在打电话")

# 子类:智能手机,继承Phone
classSmartPhone(Phone):
defplay_video(self):
        print("正在刷视频")

# 子类:支持话费检查的手机,继承SmartPhone
classPayPhone(SmartPhone):
# 重写call方法,保留父类逻辑,新增自己的功能
defcall(self):
        super().call()  # 调用父类(Phone)的call方法
        print("打电话前,先检查话费是否充足")  # 子类新增逻辑

pp = PayPhone()
pp.call()
# 输出:正在打电话(父类逻辑)
# 输出:打电话前,先检查话费是否充足(子类新增逻辑)

⚠️ 新手避坑(重点):Python 虽然支持多继承(一个子类继承多个父类),但新手千万别碰!多个父类的属性、方法容易冲突,代码会变得混乱不堪,debug 起来特别费劲,专注单继承,完全能满足日常实战需求。

四、高级核心:封装、多态——让代码更优雅、更灵活

如果说类、继承是 Python 对象的「基础骨架」,那封装多态就是它的「灵魂」——掌握这两个概念,你的代码会更优雅、更灵活,也更符合专业的编程规范,新手不用深挖底层,理解用法、会实战就够了。

1. 封装:把复杂逻辑藏起来,只提供简单接口

很多新手以为封装就是「加私有属性」,其实这是片面的——封装的核心本质是:对外提供简单的调用接口,对内隐藏复杂的实现逻辑

简单说,就是让使用者不用关心内部怎么实现,只要会调用方法就行:比如银行卡的存钱、取钱功能,用户只用调用「存钱」「取钱」方法,不用关心内部怎么算利息、怎么判断余额是否充足,复杂逻辑全被藏在类的内部。

实战案例(可直接复制运行):写一个银行卡类,完美体现封装思想,新手跟着练一遍就能理解:

classBankCard:
def__init__(self, balance=0):
        self.__balance = balance  # 私有属性:余额,隐藏内部逻辑
# 外部无法直接访问、修改余额,只能通过下面的接口操作

# 对外提供存钱接口(简单易懂,使用者直接调用)
defdeposit(self, money):
if money > 0:  # 内部复杂判断:存钱金额必须大于0
            self.__balance += money
            print(f"存款成功,当前余额:{self.__balance}")
else:
            print("存款金额必须大于0,请重新输入")

# 对外提供取钱接口(简单易懂,使用者直接调用)
defwithdraw(self, money):
if0 < money <= self.__balance:  # 内部复杂判断:金额合法
            self.__balance -= money
            print(f"取款成功,当前余额:{self.__balance}")
else:
            print("取款金额不合法(不足或为负数)")

# 使用时,只用调用接口,不用关心内部逻辑
bc = BankCard(1000)  # 初始化银行卡,余额1000
bc.deposit(500)  # 调用存钱接口,存款500
bc.withdraw(300)  # 调用取钱接口,取款300

2. 多态:同一方法,不同对象有不同表现

多态是 Python 面向对象中最灵活的特性,新手不用死记硬背定义,记住一句话就行:同一个方法,不同对象调用,会有不同的表现结果

多态的核心是「方法重写」,基于继承实现——不用额外写复杂代码,就能让一个函数适配多个对象,减少冗余,后续扩展也更方便。

实战案例(直观体现多态优势):一个通用函数,适配所有手机对象,新增子类也不用修改函数:

# 父类:Phone(基础类)
classPhone:
defcall(self):
pass# 空方法,供子类重写

# 子类1:智能手机
classSmartPhone(Phone):
defcall(self):
        print("智能手机轻声打电话")

# 子类2:老年机
classOldPhone(Phone):
defcall(self):
        print("老年机大音量打电话")

# 通用函数:接收任意Phone子类对象,不用区分具体类型
defuse_phone(phone):
    phone.call()  # 同一个方法,不同对象调用,表现不同

# 同一函数,传入不同对象,输出不同结果(多态的体现)
use_phone(SmartPhone())  # 输出:智能手机轻声打电话
use_phone(OldPhone())    # 输出:老年机大音量打电话

💡 实战价值(新手必懂):如果后续新增「儿童手机」子类,只需要重写 call 方法,通用函数 use_phone 不用做任何修改,就能直接适配——这就是多态的魅力,让代码更灵活、更易维护。

五、0基础学Python对象:我的3个实战建议(少走弯路)

从0到1学Python对象,光看理论、光抄代码没用,关键是动手实战+总结反思。结合我当年的学习经验,这3个建议帮你少走弯路,快速吃透,新手一定要看完:

1. 别光看,多写小案例,拒绝「眼会手不会」

这是最核心的一点!我当年学完理论,总觉得自己懂了,可一动手就报错——后来逼着自己,每学一个知识点就写一个小案例:比如学生管理系统、商品购物车、图书管理系统,把类、继承、封装、多态全用上,一周就彻底吃透了对象的逻辑,再也不是「眼高手低」。

2. 模仿内置类,快速找面向对象的感觉

Python 中的所有数据类型(list、dict、str),本质上都是类——新手可以多模仿内置类的用法,写自己的类。比如模仿 list 的 append(添加元素)、pop(删除元素)方法,写一个自己的「自定义列表类」,比单纯看教程、抄代码管用10倍,能快速找到面向对象的感觉。

3. 别怕重构代码,从粗糙到优雅是必经之路

刚开始写的类,肯定很粗糙:方法少、逻辑简单、漏洞多,这很正常!我当年写的第一个 Phone 类,只有2个方法,逻辑也很简陋,后来随着知识点的积累,慢慢加功能、优化逻辑、重构代码,代码才越来越优雅、越来越简洁。重构的过程,就是你对知识点理解不断加深的过程,别怕麻烦。

最后:吃透Python对象,核心是思维转变

最后想和大家说一句:吃透 Python 对象,核心不是记住多少语法、抄多少代码,而是完成一次编程思维的转变——从「面向过程」(按步骤一步步写代码,比如先做什么、再做什么),转变为「面向对象」(把问题拆成一个个对象,每个对象负责自己的属性和行为,对象之间相互配合,完成整个功能)。

我当年花了1个月才完成这个转变,刚开始很痛苦,总觉得「多此一举」,但一旦转变过来,你会发现写代码的效率翻倍,后期维护、扩展代码也会特别省心——再也不用面对一堆杂乱无章的代码,无从下手。

其实面向对象的核心逻辑很简单:把问题拆成对象,每个对象负责自己的属性和行为,对象之间相互配合,完成整个功能

福利时间

为了帮大家更快吃透 Python 对象,少走我当年的弯路,我把收集的资料,都打包成了专属资料包。

关注公众号【小黄学大模型】,回复Python,就能免费领取,帮你从0到1吃透面向对象编程,快速摆脱「新手懵圈」的困境!


#Python对象 #Python基础 #面向对象编程 #类和实例 #继承封装多态 #Python实战 #0基础学Python

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-02-08 05:58:40 HTTP/2.0 GET : https://f.mffb.com.cn/a/471514.html
  2. 运行时间 : 0.114789s [ 吞吐率:8.71req/s ] 内存消耗:4,821.00kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=739e6d23431745a0e047a549a86c513e
  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.000692s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000697s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.001092s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000247s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000469s ]
  6. SELECT * FROM `set` [ RunTime:0.000219s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000526s ]
  8. SELECT * FROM `article` WHERE `id` = 471514 LIMIT 1 [ RunTime:0.001953s ]
  9. UPDATE `article` SET `lasttime` = 1770501520 WHERE `id` = 471514 [ RunTime:0.010688s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.002023s ]
  11. SELECT * FROM `article` WHERE `id` < 471514 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001134s ]
  12. SELECT * FROM `article` WHERE `id` > 471514 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000462s ]
  13. SELECT * FROM `article` WHERE `id` < 471514 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000963s ]
  14. SELECT * FROM `article` WHERE `id` < 471514 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.012809s ]
  15. SELECT * FROM `article` WHERE `id` < 471514 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.008363s ]
0.116404s