当前位置:首页>python>从零开始学python-类与对象_3

从零开始学python-类与对象_3

  • 2026-02-25 18:59:20
从零开始学python-类与对象_3

Hi~新朋友,记得点上面蓝字(网虫root)关注哟~

前言:

   Python是一门面向对象的编程语言,它支持使用类(class)和对象(object)来组织代码。通过类和对象,可以将数据(属性)和操作(方法)封装在一起,使代码更加模块化、易于维护和复用。

9. 方法

方法是定义在类内部的函数,用于描述对象的行为。根据作用域和绑定方式的不同,Python中有三种常见的方法:实例方法、类方法和静态方法。

9.1 实例方法

  • 实例方法的第一个参数必须是 self,它绑定到调用该方法的实例,操作实例变量。通过实例调用时,Python会自动将实例作为 self 传入。实例方法可以访问实例变量和类变量(通过 self.__class__ 或类名)。

  • 调用方式:只能通过实例调用(obj.method())。

  • 关键区别:依赖对象状态(通过 self 访问实例变量)。

示例1:

class Dog:    def __init__(self, name):        self.name = name    def bark(self):        print(f"{self.name} 汪汪叫!")dog = Dog("旺财")dog.bark()   # 输出:旺财 汪汪叫!

示例2:实例方法与实例变量的交互

class BankAccount:    def __init__(self, owner, balance=0):        self.owner = owner    # 实例变量        self.balance = balance  # 实例变量    # 实例方法:操作实例变量    def deposit(self, amount):        self.balance += amount        return f"{self.owner} deposited ${amount}. New balance: ${self.balance}"# 创建对象account1 = BankAccount("Alice"100)account2 = BankAccount("Bob"50)# 调用实例方法print(account1.deposit(50))  # 输出: Alice deposited $50. New balance: $150print(account2.deposit(100)) # 输出: Bob deposited $100. New balance: $150# 实例方法无法通过类名直接调用(会报错)# BankAccount.deposit(100)  # 错误!缺少self参数

验证:

  • deposit 方法通过 self.balance 修改实例状态。

  • account1.deposit(50) 仅影响 account1,不影响 account2。

9.2 类方法

  • 类方法使用 @classmethod 装饰器定义,第一个参数是 cls,代表类本身。

  • 类方法既可以由类调用,也可以由实例调用(Class.method() 或 obj.method()),但 cls 始终指向类。

  • 类方法可以访问类变量,但不能直接访问实例变量(因为没有实例)。

  • 关键区别:操作类变量,不依赖实例状态(通过cls访问类属性)。

示例1:

class Dog:    species = "Canis familiaris"    @classmethod    def get_species(cls):        return cls.speciesprint(Dog.get_species())   # 通过类调用:Canis familiarisdog = Dog()print(dog.get_species())   # 通过实例调用:Canis familiaris

类方法常用于创建工厂方法(返回类的实例)或访问/修改类属性。

示例2:类方法与类变量的交互

class Car:    total_cars = 0  # 类变量    def __init__(self, model):        self.model = model        Car.total_cars += 1  # 通过类名修改类变量    # 类方法:重置类变量    @classmethod    def reset_total(cls):        cls.total_cars = 0# 创建对象car1 = Car("Toyota Camry")car2 = Car("Honda Civic")# 验证类变量print(Car.total_cars)  # 输出: 2 (初始总数)# 调用类方法(通过类名)Car.reset_total()print(Car.total_cars)  # 输出: 0 (重置成功)# 通过实例调用类方法(同样有效)car1.reset_total()print(Car.total_cars)  # 输出: 0

✅ 验证:

  • total_cars 是类变量,通过 Car.total_cars 访问。

  • reset_total 是类方法,修改 cls.total_cars(cls 指向 Car 类)。

  • 通过 car1.reset_total() 调用,cls 仍指向 Car 类。

实例方法 vs 类方法:关键区别总结

特性
实例方法 (Instance Methods)
类方法 (Class Methods)
第一个参数
self
(表示对象本身)
cls
(表示类本身)
操作对象
操作实例变量(依赖对象状态)
操作类变量(依赖类状态)
调用方式
仅通过实例调用(obj.method()
通过类名或实例调用(Class.method() 或 obj.method()
典型用途
对象行为(如 deposit()greet()
类级操作(如工厂方法、重置类状态)
示例
def withdraw(self, amount):@classmethod def create_car(cls, model):

错误常见点:在类方法中忘记 @classmethod 装饰器。

9.3 静态方法

静态方法使用 @staticmethod 装饰器定义,它既不需要 self 也不需要 cls 参数,可以看作是一个在类命名空间下的普通函数。静态方法不访问实例或类的属性(除非显式通过类名),通常用于实现一些与类相关但独立于具体实例的逻辑。

class MathUtil:    @staticmethod    def add(x, y):        return x + yprint(MathUtil.add(35))   # 输出:8

9.4 实例方法、类方法与静态方法的区别

为了更清晰地选择使用哪种方法,下面从定义、访问能力和典型用途等方面进行对比。

特性
实例方法
类方法
静态方法
第一个参数
self(实例自身)
cls(类自身)
无特殊参数
可访问实例变量
可访问类变量
是(通过self.__class__或类名)
是(通过cls
否(需显式通过类名)
调用方式
只能通过实例调用
可通过类或实例调用
可通过类或实例调用
自动传入的参数
实例对象
类对象
典型用途
操作实例数据(依赖对象状态)
操作类数据、工厂方法
工具函数、逻辑验证(不依赖类和实例状态)

详细示例1:

class Student:    school = "第一中学"  # 类变量    def __init__(self, name, grade):        self.name = name      # 实例变量        self.grade = grade    def display_info(self):        # 实例方法,可访问实例变量和类变量        print(f"姓名:{self.name},年级:{self.grade},学校:{self.school}")    @classmethod    def change_school(cls, new_school):        # 类方法,修改类变量        cls.school = new_school    @classmethod    def from_string(cls, info_str):        # 类方法作为工厂方法,创建实例        name, grade = info_str.split(',')        return cls(name, int(grade))    @staticmethod    def is_valid_grade(grade):        # 静态方法,验证年级是否有效        return 1 <= grade <= 12# 使用实例方法s1 = Student("小明"5)s1.display_info()  # 姓名:小明,年级:5,学校:第一中学# 使用类方法修改类变量Student.change_school("第二中学")s2 = Student("小红"3)s2.display_info()  # 姓名:小红,年级:3,学校:第二中学# 使用类方法创建对象s3 = Student.from_string("小刚,8")s3.display_info()  # 姓名:小刚,年级:8,学校:第二中学# 使用静态方法print(Student.is_valid_grade(10))  # Trueprint(Student.is_valid_grade(15))  # False

详细示例2:综合应用实例变量、类变量、实例方法、类方法

class Library:    # 类变量:所有图书馆共享的馆藏数量    total_books = 0    def __init__(self, name):        self.name = name  # 实例变量        self.books = []   # 实例变量(独立于其他图书馆)        Library.total_books += 1  # 更新类变量    # 实例方法:添加书籍(操作实例变量)    def add_book(self, book):        self.books.append(book)        return f"Added '{book}' to {self.name} library."    # 类方法:获取所有图书馆总数(操作类变量)    @classmethod    def get_total_libraries(cls):        return f"Total libraries: {cls.total_books}"    # 类方法:创建新图书馆(工厂方法)    @classmethod    def create_public_library(cls, name):        return cls(name)  # 调用__init__创建新实例# 创建图书馆public_lib = Library("City Public Library")university_lib = Library("University Library")# 验证实例变量print(public_lib.name)  # 输出: City Public Libraryprint(university_lib.books)  # 输出: [] (独立实例变量)# 验证类变量print(Library.total_books)  # 输出: 2 (类变量更新)print(public_lib.get_total_libraries())  # 输出: Total libraries: 2 (类方法)# 使用类方法创建新图书馆new_lib = Library.create_public_library("County Library")print(new_lib.name)  # 输出: County Libraryprint(Library.total_books)  # 输出: 3 (类变量更新)

✅ 验证:

  • total_books 类变量被正确更新(3个图书馆)。

  • public_lib.books 和 university_lib.books 是独立的列表。

  • create_public_library 作为类方法成功创建新实例。

10. 特殊方法(魔术方法)

Python中的特殊方法(也称为魔术方法)是以双下划线开头和结尾的方法,用于实现类的内置操作。通过重写这些方法,可以自定义对象的行为。

10.1 常用特殊方法

  • __init__(self, ...):构造函数,在对象创建时调用。

  • __str__(self):定义当使用 str() 或 print() 时返回的字符串。

  • __repr__(self):定义对象的“官方”字符串表示,通常用于调试,应尽可能还原对象创建方式。

  • __del__(self):析构函数,在对象被垃圾回收前调用。

  • __call__(self, ...):使对象可以像函数一样被调用。

  • __len__(self):定义 len() 函数的行为。

  • __getitem__(self, key):定义通过 obj[key] 访问元素的行为。

  • __setitem__(self, key, value):定义通过 obj[key] = value 赋值的行为。

  • __eq__(self, other):定义相等比较 ==。

  • __lt__(self, other):定义小于比较 <,等等。

10.2 示例

class Book:    def __init__(self, title, author, pages):        self.title = title        self.author = author        self.pages = pages    def __str__(self):        return f"《{self.title}》 by {self.author}"    def __repr__(self):        return f"Book('{self.title}', '{self.author}', {self.pages})"    def __len__(self):        return self.pages    def __call__(self):        print(f"开始阅读《{self.title}》...")book = Book("Python编程""张三"300)print(str(book))      # 《Python编程》 by 张三print(repr(book))     # Book('Python编程', '张三', 300)print(len(book))      # 300book()                # 开始阅读《Python编程》...

通过实现特殊方法,我们可以让自定义类的对象表现得像内置类型一样自然。

11. 总结

概念
语法
作用
独立性
调用方式
实例变量
self.attribute = value
存储对象特定状态
每个对象独立
通过实例访问(obj.attr
类变量
attribute = value
存储类级别共享数据
所有实例共享
通过类或实例访问(Class.attr 或 obj.attr
实例方法
def method(self, ...):
操作实例变量(需 self
依赖实例
通过实例调用(obj.method()
类方法
@classmethod
操作类变量或创建新实例
依赖 cls
通过类或实例调用(Class.method() 或 obj.method()

12. 常见错误预防

1.实例变量 vs 类变量混淆

❌ 错误:class Student: school = "Harvard"(类变量)但 self.school = "Harvard"(实例变量)

✅ 正确:

类变量:school = "Harvard"(在类体中)

实例变量:self.school = school(在 __init__ 中)

2.实例方法误用类方法

❌ 错误:def reset(self):(应为类方法)

✅ 正确:

@classmethoddef reset(cls):    cls.total_books = 0

3.类方法中使用 self

❌ 错误:def method(cls, self):(参数错误)

✅ 正确:def method(cls, ...):(第一个参数必须是 cls)

4.类变量修改导致意外行为

❌ 错误:class Config: MAX_SIZE = 100,然后 config.MAX_SIZE = 200(修改类变量)

✅ 正确:

需修改实例变量:config.MAX_SIZE = 200(创建实例变量,不影响其他实例)

需修改类变量:Config.MAX_SIZE = 200(影响所有实例)

【微语】不同的人生,有不同的幸福。去发现你所拥有幸运,少抱怨上苍的不公,把握属于自己的幸福。

网虫root

期待你的

分享

点赞

在看

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-02-28 09:01:56 HTTP/2.0 GET : https://f.mffb.com.cn/a/476551.html
  2. 运行时间 : 0.123721s [ 吞吐率:8.08req/s ] 内存消耗:4,672.34kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=a2f3eeaa930ea1b5b5798e4b49c45012
  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.000343s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000586s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000234s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000264s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000502s ]
  6. SELECT * FROM `set` [ RunTime:0.000190s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000511s ]
  8. SELECT * FROM `article` WHERE `id` = 476551 LIMIT 1 [ RunTime:0.004954s ]
  9. UPDATE `article` SET `lasttime` = 1772240516 WHERE `id` = 476551 [ RunTime:0.010905s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.001626s ]
  11. SELECT * FROM `article` WHERE `id` < 476551 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.005602s ]
  12. SELECT * FROM `article` WHERE `id` > 476551 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.002717s ]
  13. SELECT * FROM `article` WHERE `id` < 476551 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.011568s ]
  14. SELECT * FROM `article` WHERE `id` < 476551 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.010854s ]
  15. SELECT * FROM `article` WHERE `id` < 476551 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.007484s ]
0.125222s