当前位置:首页>python>用代码“收养”一只宠物:Python 面向对象编程轻松学

用代码“收养”一只宠物:Python 面向对象编程轻松学

  • 2026-06-27 21:27:49
用代码“收养”一只宠物:Python 面向对象编程轻松学

前言

写代码时,你是否曾想过把现实世界的事物搬进程序里?比如一只狗会“汪汪”,一只猫会“喵喵”,而它们都属于“动物”。这正是面向对象编程(OOP)的魅力所在。


Python面向对象基础

面向对象的基本概念

Python是一门面向对象的语言(也是一门面向过程的语言)。要掌握面向对象的基本语法,则首先需要掌握两个重要的概念:类、对象。 类: 对现实事物的抽象描述 对象: 现实事物的具体体现

Python类:

# 定义类class 类名:    # 定义方法    方法列表...
# 1.定义类class Car:    # 2.定义类方法    def run(self):        print("能跑起来了...")

对象的基本语法格式 Python对象实例化:

对象名 = 类()

调用方法:

对象名.方法名()
# 定义类class Car:    def run(self):        print("能跑起来了...")# 创建对象: 对象名 = 类名()car = Car()# 调用行为: 对象名.方法名()car.run()

self关键字 Self是python内置的关键字,用于指向对象实例本身。

class Car:    def run(self):        print("车跑起来了")    def work(self):        self.run()car = Car()car.work()

self的常见作用:在类的内部调属性和方法

添加和获取对象属性

属性表示的是固有特征,在Python中使用变量表示,例如人的姓名、年龄、身高、体重等,都是对象的属性。 设置属性

对象名.属性 = 属性值car.color = "黑色"# 定义属性,并给属性color赋值car.number = 10# 给属性number赋值

获取属性值

对象名.属性print("颜色:%s"%car.color)print("轮胎数:%d"%car.number)
class Car:    def run(self):        print("车跑起来了")car = Car()car.color = '黑色'car.number = 10print(f"车的颜色为:{car.color}")print(f"车的数量为:{car.number}")

 类内部获取属性值

self.属性
class Car:    def show(self):        # 对象名.属性  = self.属性        print(f"车的颜色为:{self.color}")        print(f"车的数量为:{self.number}")car = Car()car.color = '黑色'car.number = 10car.show()

魔法方法

在Python中,有一些可以给Python类增加魔力的特殊方法,它们总是被双下划线所包围,我们称之为魔法方法。 在特殊情况下会被自动调用,不需要开发者手动去调用。

__魔法方法名__()

init()方法

自动调用 在Python中,当新创建一个对象时,则会自动触发__init__()魔法方法。 无参数情况:不需要外面传递参数,初始化属性值 有参数情况:当需要外面传递参数,初始化属性值

class Car:    # 初始化:无参数,类内部直接赋值    def __init__(self):        self.color = 'blue'        self.number = 10    def show(self):        # 对象名.属性  = self.属性        print(f"车的颜色为:{self.color}")        print(f"车的数量为:{self.number}")car = Car()car.show()
class Car:    # 初始化:无参数,类内部直接赋值    def __init__(self,color,num):        self.color = color        self.number = numcar = Car("蓝色",10);print(f"车的颜色:{car.color},车的数量:{car.number}")

str_()方法

自动调用 当使用print输出对象时,默认打印对象的内存地址;如实现了__str__()方法,print就自动调用该魔法方法。

def __str__(self):    # ...    return 字符串结果
class Car:    # 初始化:无参数,类内部直接赋值    def __init__(self,color,num):        self.color = color        self.number = num    def __str__(self):        return "车的颜色:"+self.color+",车的数量:"+str(self.number)car = Car("玫瑰色",10);print(car)

del_()方法

当删除对象时(调用del删除对象或文件执行结束后),Python解释器会默认调用__del__()方法。

def __del__(self):    # ...
# 定义类class Car:    # 初始化方法:定义品牌类    def __init__(self,brand):        self.brand = brand    # 定义删除的方法    def __del__(self):        print("del 自动调用了__del__()方法")# 创建对象car = Car("BYD")# 获取品牌属性print(car.brand)# 删除对象del car# 获取品牌属性,报错print(car.brand)

Python面向对象高级

定义类的几种语法

方式1:类名

class 类名:     代码 # 定义教师类class Teacher:     ...

方式2:类名()

class 类名():     代码     ...# 定义教师类class Teacher():

方式3:类名(object)

class 类名(object):     代码     ...# 定义教师类class Teacher(object):    ....

python中的继承

面向对象代码中的“继承”:指子类继承父类的属性和方法 类是用来描述现实世界中同一组事务的共有特性的抽象模型,但是类也有上下级和范围之分

注意: 继承指的是类的继承,而不是对象的继承 

在Python中,继承形式:

class 父类名(object):     ...(省略)class 子类名(父类名):    ...(省略)    

在Python中,所有类默认继承object类,object类是顶级类或基类;其他子类叫做派生类。

继承:一个类从另一个已有的类获得其成员的相关特性,就叫作继承! (站在子类角度) 派生:从一个已有的类产生一个新的类,称为派生! (站在父类角度) 很显然,继承和派生其实就是从不同的方向来描述的相同的概念而已,本质上是一样的!

父类:也叫作基类,就是指已有被继承的类! 子类:也叫作派生类或扩展类

单继承和多继承

单继承就是一个子类只能继承自一个父类,不能继承多个类。这个子类会有具有父类的属性和方法。 基本语法:

 # 父类Fatherclass Father(object):    pass# 子类Sonclass Son(Father):    pass

多继承就是一个类同时继承了多个父类,并且同时具有所有父类的属性和方法。例如:孩子会继承父亲和母亲的方法和属性 基本语法

# 父类1Fatherclass Father(object):    pass# 父类2Motherclass Mother(object):    pass# 子类Sonclass Son(Father,Mother):    pass
# 1. 师父类,属性和方法class Master(object):    def __init__(self):        self.kongfu = '[古法煎饼果子配方]'    def make_cake(self):        print(f'运用{self.kongfu}制作煎饼果子')# 为了验证多继承,添加School父类class School(object):    def __init__(self):        self.kongfu = '[创新煎饼果子配方]'    def make_cake(self):        print(f'运用{self.kongfu}制作煎饼果子')# 2. 定义徒弟类,继承师父类 和 学校类class Prentice(SchoolMaster):    pass#3. 用徒弟类创建对象,调用实例属性和方法hgq = Prentice()print(hgq.kongfu)hgq.make_cake()

当一个类有多个父类时,默认使用第一个父类的同名属性和方法,可以使用类名.__mro__属性或类名.mro()方法查看调用的先后顺序。 注:MRO(Method Resolution Order):方法解析顺序

# 通过属性查看引用顺序print(Prentice.__mro__)# 通过方法查看引用顺序print(Prentice.mro())

子类重写父类同名方法和属性

重写也叫作覆盖,就是当子类属性或方法与父类的属性或方法名字相同时,从父类继承下来的成员可以重新定义! 子类重写父类的属性和方法, 优先会调用子类的属性和方法

# 1. 师父类,属性和方法class Master(object):    def __init__(self):        self.kongfu = '[古法煎饼果子配方]'    def make_cake(self):        print(f'运用{self.kongfu}制作煎饼果子')# 为了验证多继承,添加School父类class School(object):    def __init__(self):        self.kongfu = '[创新煎饼果子配方]'    def make_cake(self):        print(f'运用{self.kongfu}制作煎饼果子')# 2. 定义徒弟类,继承师父类 和 学校类class Prentice(School, Master):    def __init__(self):        self.kongfu = '[独创煎饼果子配方]'    def make_cake(self):        print(f'运用{self.kongfu}制作煎饼果子')hgq = Prentice()print(hgq.kongfu)hgq.make_cake()

 如果子类和父类拥有同名属性和方法,子类创建对象调用属性和方法的时候,调用到的是子类里面的同名属性和方法

子类中仍想要保留父类的行为,则需要在子类中调用父类方法.可以直接使用父类名来进行调用,使用的方法:

父类名.父类方法名(self)”
 class Prentice(School, Master):    def __init__(self):        self.kongfu = '[独创煎饼果子配方]'    def make_cake(self):        self.__init__()        print(f'运用{self.kongfu}制作煎饼果子')    def make_school_cake(self):        School.__init__(self# 父类初始化        School.make_cake(self)    def make_master_cake(self):        Master.__init__(self# 父类初始化        Master.make_cake(self)hgq = Prentice()hgq.make_cake()hgq.make_master_cake()hgq.make_school_cake()hgq.make_cake()

 子类调用父类方法 使用super()调用父类方法,使用的方法:

super().父类方法名(self)
# 2. 定义徒弟类,继承师父类 和 学校类class Prentice(SchoolMaster):    def __init__(self):        self.kongfu = '[独创煎饼果子配方]'    def make_cake(self):        self.__init__()        print(f'运用{self.kongfu}制作煎饼果子')    def make_old_cake(self):        super().__init__()        super().make_cake()hgq = Prentice()hgq.make_cake()hgq.make_old_cake()

python中的封装

在软件编程中,将属性和方法书写到类的里面的操作即为封装,封装可以为属性和方法添加私有权限。

私有属性和私有方法

在Python中,可以为属性和⽅法设置私有权限,即设置某个属性或⽅法不继承给⼦类。 设置私有属性和方法的方式:在属性或方法名前面加上 __,格式:

# 私有属性__属性名# 私有方法def __方法名():    ...

私有属性和方法使用规则:

  • 只能在类的内部使用,不能在类的外部使用;
  • 如果想在类的外部使用通过公共接口

私有属性不能直接访问,在Python中,一般定义方法名’ get_xx ‘用来获取私有属性,定义’ set_xx '用来修改私有属性值。

# 2. 定义徒弟类,继承师父类 和 学校类class Prentice(SchoolMaster):    def __init__(self):        self.kongfu = '[独创煎饼果子配方]'        self.__money = 20000    ......    # 得到私有属性__money    def get_money(self):        return self.__money    # 修改私有属性__money    def set_money(self,money):        self.__money = moneyhgq = Prentice()print(hgq.get_money())hgq.set_money(10000)print(hgq.get_money())        

访问私有方法,可以使用重新设置一个公有方法来访问。

	 # 私有方法     def __make_cake(self):             print(f'运用{self.kongfu}制作煎饼果子’)     def make(self):         self.__make_cake()

python中的多态

多态,指的是:多种状态。比如:同样一个函数在不同的场景下有不同的状态

class Animal:    def speak(self):        passclass Dog(Animal):    def speak(self):        print("汪汪汪")class Cat(Animal):    def speak(self):        print("喵喵喵")def make_noise(animal : Animal):    animal.speak()dog = Dog()cat = Cat()make_noise(dog)make_noise(cat)

: Animal 是类型注解(Type Hint),它表示:参数 animal 期望的类型是 Animal 类(或者它的子类)

同样的行为(函数),传入不同的对象,得到不同的状态

实现多态的三个条件 1、有继承 (定义父类、定义子类,子类继承父类) 2、函数重写 (子类重写父类的函数) 3、父类引用指向子类对象 (子类对象传给父类对象调用者)

多态的好处 在不改变框架代码的情况下,通过多态语法轻松的实现模块和模块之间的解耦合;实现了软件系统的可拓展

继承相当于:孩子可以复用老爹的东西。 多态相当于:老爹框架,不做任何修改的情况下,可以可拓展的使用后来人(孩子)写的东西。

抽象类(接口)

父类Animal的speak方法,是空实现

class Animal:    def speak(self):        pass

在 Python 中,pass 是一个空操作语句,执行时什么也不做。它主要用于语法上需要一条语句、但程序逻辑上不需要任何操作的场合。

这种设计的含义是:

  • 父类用来确定有哪些方法(父类制定接口标准)
  • 具体的方法实现有子类来实现(子类实现接口标准)

这种写法,就叫做抽象类(也可以称之为接口)

抽象类:含有抽象方法的类称之为抽象类 抽象方法:方法体是空实现的(pass)称之为抽象方法

 抽象类就好比定义一个标准,包含了一些抽象的方法,要求子类必须实现

class AC:    #制冷    def cool_wind(self):        pass    # 制热    def hot_wind(self):        pass    #左右摆风    def swing_l_r(self):        passclass Midea_AC(AC):    def cool_wind(self):        print("美的空调制冷")    def hot_wind(self):        print("美的空调制热")    def swing_l_r(self):        print("美的空调左右摆风")class GREE_AC(AC):    def cool_wind(self):        print("格力空调制冷")    def hot_wind(self):        print("格力空调制热")    def swing_l_r(self):        print("格力空调左右摆风")def make_cool(ac : AC):    ac.cool_wind()midea = Midea_AC()gree = GREE_AC()make_cool(midea)make_cool(gree)

面向对象的其他属性

属性

类或对象中的属性都属于属性

对象名.属性名self.属性名

类属性

类属性,指的就是类所拥有的属性,它被共享于整个类中(即都可以直接调用)。

类名.类属性名    # 推荐使用对象名.类属性名
class Person:    count = 10print(Person.count)p = Person()print(p.count)

类方法

所谓类方法,指的是类所拥有的方法,并需要使用装饰器@classmethod来标识其为类方法,同时一定要注意的是对于类方法的第一个参数必须是类对象,通常以cls作为第一个参数名。

@classmethoddef 类方法名(cls):    ...类名.类方法名    # 推荐使用对象名.类方法名
class Cat:    @classmethod    def eat(cls):        print("猫都喜欢吃鱼")Cat.eat()c = Cat()c.eat()

静态方法

静态方法需要通过装饰器@staticmethod来标识其为静态方法,且静态方法不需要多定义参数。

@staticmethoddef 静态方法名():    ...类名.静态方法名    # 推荐使用对象名.静态方法名

总结

面向对象不仅仅是语法技巧,更是一种组织复杂程序的思维方式。当你下次再写 Python 代码时,不妨尝试用类来抽象现实逻辑,让代码更贴近自然的认知。实践出真知——快打开你的编辑器,创建一个属于你的 Animal 王国吧!

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-03 14:47:45 HTTP/2.0 GET : https://f.mffb.com.cn/a/499328.html
  2. 运行时间 : 0.206460s [ 吞吐率:4.84req/s ] 内存消耗:4,849.59kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=b56c053d10b3f0ac6cf87dc4ba200ed3
  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.000464s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000811s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.014043s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.003402s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000595s ]
  6. SELECT * FROM `set` [ RunTime:0.000247s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000608s ]
  8. SELECT * FROM `article` WHERE `id` = 499328 LIMIT 1 [ RunTime:0.001522s ]
  9. UPDATE `article` SET `lasttime` = 1783061266 WHERE `id` = 499328 [ RunTime:0.025379s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.001532s ]
  11. SELECT * FROM `article` WHERE `id` < 499328 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.005613s ]
  12. SELECT * FROM `article` WHERE `id` > 499328 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.004988s ]
  13. SELECT * FROM `article` WHERE `id` < 499328 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.003327s ]
  14. SELECT * FROM `article` WHERE `id` < 499328 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.021078s ]
  15. SELECT * FROM `article` WHERE `id` < 499328 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.004053s ]
0.207960s