当前位置:首页>python>【Python】我对着男/女朋友编程,是否就是面向对象编程?

【Python】我对着男/女朋友编程,是否就是面向对象编程?

  • 2026-03-19 14:04:57
【Python】我对着男/女朋友编程,是否就是面向对象编程?

小柴的故事

小柴是一名计算机专业的大学生。这个学期,他将要学习面向对象编程。这可把小柴给急坏了:他可是母胎单身十八年,一个对象也没有,这门课不会挂科吧! 挂科可是会影响他保研!

于是他心急火燎地翻遍了微信通讯录,给每一个女生都发了消息:

“嗨,你好!想问一下你能当我的对象吗?”

不出意外,所有女生都拉黑了他。

然而,“世上无难事,只要肯登攀”,在寻找女朋友失败后,他重整旗鼓,开始寻找男朋友。

他又开始翻通讯录,给每一个男生都发了消息。他将信息发送给我们公众号的编辑卡咪同学后,卡咪同学为了避免他骚扰其他男同学,赶紧回复了他:

“小柴同学,你好!我觉得你这个问题很有意思,我来帮你解答一下吧!”

“事实上,掌握面向对象编程,并不意味着一定要有一个对象。” 卡咪同学说。

那好,就让我们和小柴同学一起,来看看什么是面向对象编程吧!

此“对象”非彼“对象”

在我们提到的面向对象编程中,“对象”这个概念,其实指的并不是男女朋友。在面向对象编程中,我们把程序中的一个东西叫做“对象”。这个东西可以是一个人、一个动物、一辆车,甚至是一个概念,比如“爱情”。

我们先说明一些简单的概念。

1. 类 (Class)

所有的对象都是由类创建的。类就像是一个蓝图或者模板,定义了对象的属性和方法。 比如,我们可以有一个“人”类,这个类定义了人的属性(比如名字、年龄)和方法(比如说话、走路)。当我们根据这个类创建一个具体的人时,这个人就是一个对象。

一个类,把人的特质(名字、年龄)和人的行为(说话、走路)都捆绑在了一起。我们可以根据这个类创建很多不同的人对象,比如小柴同学、卡咪同学等等。

在Python中,我们可以这样定义一个类:

classPerson:# 我们等下会讲这个函数是干什么的def__init__(self, name, age):        self.name = name  # 定义属性        self.age = age# 定义方法defspeak(self):        print(f"{self.name} says: Hello!")defwalk(self):        print(f"{self.name} is walking.")

2. 实例 (Instance)

当我们根据一个类创建一个具体的对象时,这个对象就叫做这个类的一个实例。比如,我们可以创建一个小柴同学的实例:

xiaochai = Person("小柴"20)

这个时候,xiaochai就是Person类的一个实例。

我们是怎么创建实例的呢?事实上,我们调用的是类的一个特殊函数,叫做__init__函数。它是英文 "initialize" 的缩写,意思是“初始化”。这个函数在创建实例的时候会被自动调用,用来初始化实例的属性。在上面的例子中,我们传入了名字和年龄,这些信息就被用来初始化了小柴同学这个实例的属性。

classPerson:def__init__(self, name, age):        self.name = name  # 定义属性        self.age = age

这个函数的每一行都是什么意思呢?第一个参数self是一个特殊的参数,代表了当前实例本身。当我们创建一个实例时,Python会自动把这个实例传递给self参数。这样,我们就可以在类的内部通过self来访问和修改这个实例的属性。在上面的例子中,我们通过self.nameself.age来定义了这个实例的属性。

如果有些难理解,我们可以先记住:基本所有的类都会有一个__init__函数,而类内函数的第一个参数都是self,这个参数代表了当前实例(即小柴)本身。

我们在创建实例的时候,Python会自动把这个实例(小柴)传递给self参数,这样我们就可以在类的内部通过self来访问和修改这个实例的属性。

3. 属性 (Attribute)

属性是用来描述对象的特征的,在上面的例子中,nameage就是这个类的属性。我们可以通过实例来访问这些属性:

print(xiaochai.name)  # 输出: 小柴print(xiaochai.age)   # 输出: 20

我们也可以修改这些属性:

xiaochai.age = 21print(xiaochai.age)   # 输出: 21

可以看到,我们使用了点号(.)来访问和修改实例的属性。这是面向对象编程中最基本的句法。

4. 方法 (Method)

方法是定义在类中的函数,用来描述对象的行为。比如,在上面的例子中,speakwalk就是这个类的方法。我们可以通过实例来调用这些方法:

xiaochai.speak()  # 输出: 小柴 says: Hello!xiaochai.walk()   # 输出: 小柴 is walking.

方法和属性一样,也是通过点号来访问的。方法可以让我们对对象进行操作,或者让对象执行一些动作。

那好,我们写一个完整的例子来看看这些概念是如何结合在一起的:

classPerson:def__init__(self, name, age):        self.name = name  # 定义属性        self.age = agedefspeak(self):        print(f"{self.name} says: Hello!")defwalk(self):        print(f"{self.name} is walking.")# 创建一个实例xiaochai = Person("小柴"20)kami = Person("卡咪"19)# 访问属性print(xiaochai.name)  # 输出: 小柴print(kami.age)      # 输出: 19# 调用方法xiaochai.speak()  # 输出: 小柴 says: Hello!kami.walk()      # 输出: 卡咪 is walking.

有人问了,面向对象编程,和我们之前的编程有什么区别吗?我们可以试着用之前的方式实现一下这整个例子:

defcreate_person(name, age):return {'name': name, 'age': age} # 创建一个字典来表示一个人defshow_age(person):    print(f"{person['name']} is {person['age']} years old.")defshow_name(person):    print(f"{person['name']} is the person's name.")defchange_name(person, new_name):    person['name'] = new_namedefchange_age(person, new_age):    person['age'] = new_agedefspeak(person):    print(f"{person['name']} says: Hello!")defwalk(person):    print(f"{person['name']} is walking.")# 创建一个人xiaochai = create_person("小柴"20)kami = create_person("卡咪"19)# 访问属性show_name(xiaochai)  # 输出: 小柴 is the person's name.show_age(kami)      # 输出: 卡咪 is 19 years old.# 调用方法speak(xiaochai)  # 输出: 小柴 says: Hello!walk(kami)      # 输出: 卡咪 is walking.

有什么区别呢?

在面向对象编程中,我们把数据(属性)和操作数据的函数(方法)都捆绑在了一起,这样我们就可以更方便地管理和使用这些数据。而在之前的编程方式中,我们需要把数据和函数分开来管理,这样就比较麻烦。

我们定义了很多函数来操作这些数据,而且每次操作都需要传入这个数据(在这个例子中就是被操作的人)作为参数,这样就很麻烦。而在面向对象编程中,我们只需要调用实例的方法,用点记号就可以了,不需要再传入这个实例作为参数了。

所以,面向对象编程让我们的代码更清晰、更结构化、更易于维护。我们可以把相关的数据和操作捆绑在一起,这样就更容易理解和使用了。

试着比较:

speak(xiaochai)  # 之前的方式,需要传入作为参数xiaochai.speak()  # 面向对象编程的方式,直接调用实例,实例作为方法的隐式参数self,不需要再传入了

可见,面向对象编程的核心思想就是把数据和操作数据的函数捆绑在一起,这样我们就可以更方便地管理和使用这些数据了。

一些其他的例子

银行账户也是一个很好的例子。我们可以定义一个BankAccount类,来表示一个银行账户:

classBankAccount:def__init__(self, owner, balance=0):# balance是余额的意思,是可选参数,默认值是0        self.owner = owner        self.balance = balancedefdeposit(self, amount):# 存款方法,参数是存款金额        self.balance += amount        print(f"{self.owner} 存了 {amount}。当前余额: {self.balance}")defwithdraw(self, amount):# 取款方法,参数是取款金额if amount > self.balance:            print(f"{self.owner} 余额不足。当前余额: {self.balance}")else:            self.balance -= amount            print(f"{self.owner} 取出了 {amount}。当前余额: {self.balance}")# 创建一个银行账户实例account = BankAccount("小柴"1000)# 存款account.deposit(500)  # 输出: 小柴 存了 500。当前余额: 1500# 取款account.withdraw(200)  # 输出: 小柴 取出了 200。当前余额: 1300account.withdraw(1500# 输出: 小柴 余额不足。当前余额: 1300

我们可以注意到,Python中的类通常是以大写字母开头的,这是一种命名约定,可以方便我们区分类和变量。

我们再举一个虚数的例子。我们可以定义一个ComplexNumber类,来表示一个复数:

classComplexNumber:def__init__(self, real, imag):        self.real = real  # 实部        self.imag = imag  # 虚部defdisplay(self):# 定义这个方法是为了让我们在打印这个对象的时候,能够得到一个友好的输出        print(f"{self.real} + {self.imag}i")defadd(self, other):# 定义一个加法方法,参数是另一个复数对象        new_real = self.real + other.real        new_imag = self.imag + other.imagreturn ComplexNumber(new_real, new_imag)  # 返回一个新的复数对象defmultiply(self, other):# 定义一个乘法方法,参数是另一个复数对象        new_real = self.real * other.real - self.imag * other.imag        new_imag = self.real * other.imag + self.imag * other.realreturn ComplexNumber(new_real, new_imag)  # 返回一个新的复数对象# 创建两个复数实例c1 = ComplexNumber(23)  # 2 + 3ic2 = ComplexNumber(45)  # 4 + 5i# 对这两个复数进行加法和乘法操作c3 = c1.add(c2)  # c3是c1和c2的和c4 = c1.multiply(c2)  # c4是c1和c2的乘积# 打印结果print("c1: ", end="")c1.display()  # 输出: 2 + 3iprint("c2: ", end="")c2.display()  # 输出: 4 + 5iprint("c3: ", end="")c3.display()  # 输出: 6 + 8iprint("c4: ", end="")c4.display()  # 输出: -7 + 22i

我们一直都在用Python中的面向对象编程

面向对象编程从来不是什么很高大上的事情。其实,我们在使用Python的时候,一直都在用面向对象编程。比如,我们创建一个列表:

my_list = [123# 可以改写成 my_list = list([1, 2, 3]),这里的list就是一个类,我们创建了一个列表对象my_list,这个对象就是list类的一个实例。my_list.append(4)  # 调用列表对象的方法,这里的append方法就是list类定义的方法,用来向列表中添加元素。print(my_list)     # 输出: [1, 2, 3, 4]

我们用Python的字符串方法来操作字符串时:

my_string = "Hello, World!"print(my_string.upper())  # 调用字符串对象的方法,把字符串转换成大写,print(my_string.lower())  # 调用字符串对象的方法,把字符串转换成小写

我们调用海龟库绘制图形时:

from turtle import Turtle  # 首字母大写的Turtle是一个类t = Turtle()  # 创建一个Turtle对象(实例)t.forward(100)  # 调用Turtle对象的方法,让它向前移动100单位t.left(90)     # 调用Turtle对象的方法,让它向左转90t.forward(100)  # 调用Turtle对象的方法,让它向前移动100单位

结语

听完卡咪同学的讲解,小柴同学终于明白了,原来面向对象编程中的“对象”并不是指男女朋友,而是指程序中的一个东西,比如一个人、一个动物、一辆车,甚至是一个概念。通过定义类,我们可以创建很多不同的对象,每个对象都有自己的属性和方法,这样我们就可以更方便地管理和使用这些数据了。

小柴同学高兴地表示:我可以继续单身下去了!但说完这句话,他不知道为何感觉心里有点空落落的。

晚上回宿舍,小柴同学想用运算符实现上文提的两个复数的加减法 print(c1 + c2),这就需要重载运算符。小柴同学觉得好玩儿,创建了一个“动物”类,又创建了“猫”类和“狗”类,他想把这三者联系起来,看看它们之间有什么关系。卡咪同学告诉他,这就是面向对象编程中的“继承”。还有各种各样,五花八门的概念,我们后面如果可以再介绍。

免责声明

本文「小柴同学」相关故事均为虚构,与现实人物、事件、团体无关,请勿对号入座。

如果本文内容让你产生了情绪波动、精神内耗、深夜emo、找对象焦虑、甚至对 OOP 产生了人生困惑,请立刻放下手机,深呼吸,好好吃饭睡觉,严重者请及时寻求专业心理咨询帮助,你的身心健康永远比代码和对象重要。

如有冒犯与困扰,我们深表歉意,请勿当真。

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-03-27 14:44:17 HTTP/2.0 GET : https://f.mffb.com.cn/a/480477.html
  2. 运行时间 : 0.163116s [ 吞吐率:6.13req/s ] 内存消耗:4,764.34kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=f58031c3bdbccc6a9c02eee8db9a333c
  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.000893s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001577s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000734s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000668s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001410s ]
  6. SELECT * FROM `set` [ RunTime:0.000620s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001583s ]
  8. SELECT * FROM `article` WHERE `id` = 480477 LIMIT 1 [ RunTime:0.004130s ]
  9. UPDATE `article` SET `lasttime` = 1774593857 WHERE `id` = 480477 [ RunTime:0.012508s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000729s ]
  11. SELECT * FROM `article` WHERE `id` < 480477 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001375s ]
  12. SELECT * FROM `article` WHERE `id` > 480477 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.002588s ]
  13. SELECT * FROM `article` WHERE `id` < 480477 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.003237s ]
  14. SELECT * FROM `article` WHERE `id` < 480477 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.016805s ]
  15. SELECT * FROM `article` WHERE `id` < 480477 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.008835s ]
0.167073s