当前位置:首页>python>《Python 从入门到精通》042|字符串索引与切片:精准拿到你想要的内容

《Python 从入门到精通》042|字符串索引与切片:精准拿到你想要的内容

  • 2026-07-01 18:28:53
《Python 从入门到精通》042|字符串索引与切片:精准拿到你想要的内容

上一章我们已经把一个最重要的观念先立住了。

字符串不是一段普通文字。 它是程序处理现实信息时,最常见的载体。

但光知道字符串重要,还不够。 真正开始动手时,你很快就会遇到一个特别现实的问题:

我不要整段内容,我只想拿其中一部分。

比如:

从文件名里拿后缀 从手机号里拿前 3 位 从身份证号里拿出生年份 从邮箱里拿用户名 从一串日期里拿出 年、月、日 从一段文本里截取关键词

这些操作,本质上都离不开两个核心能力:

索引 切片

这一章,我们就把它们讲透。

你会发现,字符串并不是只能整段使用。 它可以像一条被精准定位的带子一样,被你一个字符一个字符地取出来,也可以一段一段地切出来。

一、什么是索引

先看一个最简单的字符串:

text = 'python'

这 6 个字符,并不是一团模糊的整体。 在 Python 眼里,它们每一个都有自己的位置。

位置编号是这样的:

p   y   t   h   o   n012345

这个位置编号,就叫索引。

也就是说:

第 1 个字符的索引是 0 第 2 个字符的索引是 1 第 3 个字符的索引是 2

注意,Python 里的索引,从 0 开始,不是从 1 开始。

这是很多新手刚开始最容易别扭的地方。 但你后面会越来越习惯。

二、如何通过索引取出单个字符

语法非常简单:

字符串[索引]

比如:

text = 'python'print(text[0])print(text[1])print(text[2])

输出:

pyt

这说明:

text[0] 拿到第 1 个字符text[1] 拿到第 2 个字符text[2] 拿到第 3 个字符

这里你要慢慢形成一个感觉:

索引不是第几个字符 而是字符所在的位置编号

编号从 0 开始,所以第几个 和 索引值 往往会差 1。

三、为什么索引要从 0 开始

这个问题很多人都会问。

你先不用一开始就深究特别底层的原理。 对入门阶段来说,记住这件事最重要:

Python 里大量和位置相关的东西,都是从 0 开始的。

列表是这样。 字符串也是这样。 后面很多别的结构,思路也差不多。

你可以先把它当成 Python 世界里的默认规则。 一开始可能有点不顺手,但用几天就习惯了。

真正让人卡住的,往往不是从 0 开始本身, 而是总把 索引 和 第几个字符 混着想。

这个一定要分清。

四、字符串也支持负数索引

正数索引,是从左往右数。 字符串还支持负数索引,也就是从右往左数。

看这个字符串:

text = 'python'

它的负数索引可以这样理解:

p   y   t   h   o   n-6-5-4-3-2-1

也就是说:

-1 表示最后一个字符-2 表示倒数第二个字符-3 表示倒数第三个字符

来看代码:

text = 'python'print(text[-1])print(text[-2])print(text[-3])

输出:

noh

这个功能特别实用。

因为真实开发里,你经常会想取最后一个字符、最后几个字符。 如果只用正数索引,就得先去算长度。 而负数索引会轻松很多。

五、什么时候负数索引特别好用

举个很贴近实际的例子。

假设你想看看一个文件名最后一个字符是不是数字:

filename = 'report1'print(filename[-1])

或者你想拿出一个手机号最后 4 位:

phone = '13812345678'print(phone[-4])print(phone[-3])print(phone[-2])print(phone[-1])

虽然这样一个个取也行,但你已经能感觉到:

从末尾开始取数据时,负数索引非常自然。

后面讲切片时,你会更明显地感受到这一点。

六、索引越界是什么意思

看下面这段代码:

text = 'python'print(text[10])

这会直接报错。

为什么?

因为 python 只有 6 个字符,索引范围是:

0 到 5

你去取 10,当然超出了范围。

这就叫索引越界。

同样地,负数也不能乱写:

print(text[-10])

也会报错。

所以索引虽然好用,但前提是你要拿一个真的存在的位置。

如果字符串长度不确定,就要格外小心。

七、len() 和索引经常一起出现

前面你学过 len(),它可以拿到字符串长度。

比如:

text = 'python'print(len(text))

输出:

6

这说明字符串一共有 6 个字符。

那最后一个字符的正数索引是多少?

答案是:

len(text) - 1

也就是:

6 - 1 = 5

所以:

text[len(text) - 1]

和:

text[-1]

拿到的是同一个字符。

看代码:

text = 'python'print(text[len(text) - 1])print(text[-1])

输出都是:

n

这说明负数索引很多时候,其实就是一种更省事的写法。

八、字符串可以遍历,本质上也是在按索引走

比如:

text = 'python'for ch in text:    print(ch)

输出会一个一个打印出字符。

虽然你没显式写索引,但本质上程序还是在按顺序访问每个位置上的字符。

所以从某种角度看,索引是你理解字符串内部结构的基础。 只要你真正明白字符串是由一个个有位置的字符组成,后面很多操作都会更顺。

九、什么是切片

如果说索引是拿一个字符, 那么切片就是拿一段字符。

看例子:

text = 'python'print(text[0:3])

输出:

pyt

这就是切片。

它的意思是:

从索引 0 开始取 取到索引 3 前面为止 注意,不包含 3

所以实际拿到的是:

012

也就是:

p、y、t

这和前面列表切片的逻辑是一模一样的。

最核心的规则还是那一句:

前包后不包

十、切片的基本语法

字符串切片的完整写法是:

字符串[start:end:step]

这三个部分分别表示:

开始位置 结束位置 步长

其中最常用的是前两个,也就是:

字符串[start:end]

先把这个用熟最重要。

比如:

text = 'python'print(text[0:2])print(text[1:4])print(text[2:6])

输出:

pyyththon

这里你要特别注意右边不包含。 这个规则只要你搞清楚,切片就会轻松很多。

十一、切片为什么也是前包后不包

和列表一样,字符串切片也是这样设计的:

前包后不包

这么设计有个很大的好处:

长度很好算。

比如:

text[1:4]

长度直接就是:

4 - 1 = 3

实际拿到的也正好是 3 个字符。

再比如:

text[2:5]

长度就是:

5 - 2 = 3

这个规则一开始看着有点反直觉,但用熟以后会非常顺手。 尤其是你后面处理区间、分页、文本截取时,它会省很多脑子。

十二、省略开始和结束位置

切片里,开始位置和结束位置都可以省略。

1. 省略开始位置

如果不写开始位置,默认从头开始。

text = 'python'print(text[:3])

输出:

pyt

等价于:

print(text[0:3])

2. 省略结束位置

如果不写结束位置,默认切到最后。

print(text[2:])

输出:

thon

等价于:

print(text[2:len(text)])

3. 前后都省略

如果前后都不写,就表示取整个字符串。

print(text[:])

输出:

python

这一点看起来像没什么用,但实际上后面做字符串复制、格式处理时也会遇到。

十三、切片和索引到底有什么区别

这个点一定要分清。

索引,拿到的是单个字符。 切片,拿到的是一段字符串。

看例子:

text = 'python'a = text[1]b = text[1:2]print(a)print(b)print(type(a))print(type(b))

输出:

yy<class 'str'><class 'str'>

你会发现,虽然打印出来看着都像 y, 但含义是不一样的。

text[1] 是取第 2 个字符。text[1:2] 是切出一段长度为 1 的字符串。

从结果类型看,它们都是字符串。 但前者是单字符访问,后者是区间截取。

这点在很多逻辑里会影响你的思路。

十四、步长 step 是什么

切片的完整语法里,还有第三个参数:

字符串[start:end:step]

这个 step 表示每隔几个字符取一次。

比如:

text = 'python'print(text[0:6:2])

输出:

pto

因为它取的是:

索引 0 索引 2 索引 4

也就是:

p、t、o

再看:

text = 'abcdefgh'print(text[1:8:2])

输出:

bdfh

你可以把步长理解成:

跳着取

默认步长是 1,也就是一个一个正常往前取。 步长是 2,就是隔一个取一个。 步长是 3,就是隔两个取一个。

十五、最常见的几种字符串切片写法

这一组写法非常高频,建议你直接形成肌肉记忆。

取前 3 个字符:

text[:3]

取后 3 个字符:

text[-3:]

跳过前 2 个字符:

text[2:]

每隔一个取一个:

text[::2]

复制整个字符串:

text[:]

反转字符串:

text[::-1]

比如:

text = 'python'print(text[::-1])

输出:

nohtyp

这一招特别经典。

为什么能反转?

因为步长是 -1,表示倒着走。

十六、负数索引和切片配合起来特别强

前面你已经知道,负数索引是从右往左数。 和切片配合起来之后,它会变得特别实用。

比如取最后 4 个字符:

text = 'report.pdf'print(text[-4:])

输出:

.pdf

这在判断文件后缀时就很好用。

再比如取手机号最后 4 位:

phone = '13812345678'print(phone[-4:])

输出:

5678

再比如去掉字符串最后一个字符:

text = 'hello!'print(text[:-1])

输出:

hello

这类写法在实际开发里真的很常见。

十七、字符串是不可变的,这对索引和切片有什么影响

这一点特别重要。

字符串虽然能通过索引取字符、通过切片取子串, 但它本身不能像列表那样按位置修改。

比如下面这样是不行的:

text = 'python'text[0] = 'P'

这会报错。

为什么?

因为字符串是不可变类型。 你可以读它,可以切它,但不能原地改它。

那如果你真的想改怎么办?

做法是重新生成一个新字符串。

比如把第一个字符改成大写:

text = 'python'new_text = 'P' + text[1:]print(new_text)

输出:

Python

这里你会发现,切片又派上用场了。

前面手动写一个新字符, 后面用切片接上原字符串剩下的部分, 就组成了一个新的字符串。

十八、实际场景一:提取文件后缀

这是非常经典的一个需求。

比如你拿到文件名:

filename = 'photo.png'

你想知道它是不是 png 文件。

最简单粗暴的方式之一,就是取最后几位:

print(filename[-4:])

输出:

.png

如果你只关心后缀名,不要点,也可以自己再处理。

不过这里先不展开讲方法链,当前这一章的重点是感受:

切片真的能非常直接地解决现实需求。

十九、实际场景二:提取手机号中间和末尾部分

比如一个手机号:

phone = '13812345678'

取前三位:

print(phone[:3])

输出:

138

取中间四位:

print(phone[3:7])

输出:

1234

取后四位:

print(phone[-4:])

输出:

5678

这在做手机号脱敏、区号识别、信息展示时都很常见。

比如脱敏显示:

phone = '13812345678'safe_phone = phone[:3] + '****' + phone[-4:]print(safe_phone)

输出:

138****5678

你看,字符串切片一旦会了,这种操作几乎是一眼就能写出来。

二十、实际场景三:从邮箱里取用户名

假设邮箱是:

email = 'tom123@example.com'

如果你已经知道用户名部分在前面,那么最直接的思路就是先观察结构。

虽然更精确的分隔方法后面会学,但现在先用切片建立感觉。

比如你知道 @ 前面都是用户名。 那你就已经开始有了一个非常重要的字符串处理意识:

不是整段拿,而是只取我想要的那一部分。

这一章先把索引和切片彻底用顺。 到后面讲查找和拆分时,你会把这些操作组合得更自然。

二十一、实际场景四:截取日期中的年月日

比如:

date = '2026-03-26'

年:

print(date[:4])

输出:

2026

月:

print(date[5:7])

输出:

03

日:

print(date[8:10])

输出:

26

这个例子特别适合新手理解切片。 因为每一段的位置都很清楚,看一眼就能明白。

你会发现,切片其实非常像拿尺子在字符串上量位置,然后把需要的那段剪下来。

二十二、实际场景五:反转字符串

比如回文判断、密码掩码、文本逆序展示,都可能用到。

最简单的反转写法就是:

text = 'abcdef'print(text[::-1])

输出:

fedcba

这里很多人第一次看到都会有点惊讶。 但其实拆开看就明白了:

开始和结束都省略 步长是 -1也就是从后往前一个一个拿

这就是切片厉害的地方。 很多过去你以为要写循环的事,实际上一个切片就能解决。

二十三、切片最容易犯的几个错

1. 以为右边也会取到

比如:

text = 'python'print(text[1:3])

很多新手会以为结果是:

yth

其实正确结果是:

yt

因为 3 不包含。

2. 把索引值和第几个字符混淆

比如第 3 个字符,其实索引是 2。 这个错前期特别常见,只能靠多练习慢慢纠正。

3. 忘了字符串不能原地改

text[0] = 'P'

这是不行的。 字符串只能重新拼出一个新的。

4. 乱用越界索引

text[100]

这会直接报错。

但这里有个细节要注意:

单个索引越界会报错, 切片越界通常不会报错。

比如:

text = 'python'print(text[0:100])

输出:

python

因为切片会自动尽量取到能取到的部分。

这点很实用,也很容易让人混淆。

二十四、为什么切片越界通常不报错

因为切片本质上是在说:

从这里取到那里,如果那里太远,那就取到字符串末尾为止。

比如:

text = 'python'print(text[2:100])

程序不会生气,它只会老老实实把从索引 2 到最后的内容给你。

输出:

thon

这和单个索引取值不一样。

单个索引必须精确指向一个存在的位置。 切片是一个范围概念,范围稍微大一点没关系。

二十五、索引和切片,本质上是在训练什么能力

表面上看,这一章学的是语法。 但更深一层,其实是在训练你对字符串结构的敏感度。

你开始会观察:

第几个字符在哪里 哪一段从哪里开始 哪一段到哪里结束 我到底要单个字符,还是一段文本 我是不是应该从前面数,还是从后面数更方便

这种感觉一旦建立起来,后面学查找、拆分、替换、格式化时,你会轻松很多。

因为你已经不再把字符串当成一整坨文字了。 你开始把它看成一个可以被定位、被拆解、被提取的结构。

二十六、练习题:这章一定要自己敲

下面这些练习非常典型,建议你自己先写。

1. 定义字符串 python,取出第一个字符和最后一个字符

参考答案:

text = 'python'print(text[0])print(text[-1])

2. 取出前 3 个字符

print(text[:3])

3. 取出后 3 个字符

print(text[-3:])

4. 取出中间的 yth

print(text[1:4])

5. 每隔一个字符取一次

print(text[::2])

6. 把字符串反转

print(text[::-1])

7. 把手机号 13812345678 脱敏成 138****5678

phone = '13812345678'result = phone[:3] + '****' + phone[-4:]print(result)

8. 从日期 2026-03-26 中分别取出年、月、日

date = '2026-03-26'print(date[:4])print(date[5:7])print(date[8:10])

这些题一旦你自己敲顺了,索引和切片基本就稳了。

二十七、本章小结

这一章你真正要掌握的,是把字符串从 整体 看成 结构。

索引,用来拿单个字符。 切片,用来拿一段字符串。 索引从 0 开始。 负数索引表示从右往左数。 切片最核心的规则是前包后不包。 步长可以控制跳着取,甚至倒着取。 字符串虽然能索引、能切片,但它本身不可变,不能原地修改。

最常用的高频写法,你可以再过一遍:

text[0]      # 第一个字符text[-1]     # 最后一个字符text[:3]     # 前3个字符text[2:]     # 从索引2到最后text[-3:]    # 最后3个字符text[::2]    # 每隔一个取一个text[::-1]   # 反转字符串

学会这一章之后,你处理字符串就不再只能整段拿来用。 你已经开始具备最基础也最关键的文本提取能力了。

下一章我们继续讲 常见字符串方法全梳理:split、join、replace 等。 到了那里,你会发现,索引和切片像是一把小刀,而字符串方法则更像一整套工具箱。

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-04 07:02:39 HTTP/2.0 GET : https://f.mffb.com.cn/a/491140.html
  2. 运行时间 : 0.148767s [ 吞吐率:6.72req/s ] 内存消耗:4,695.73kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=b9cfa118e0dc744577ea64b692932c1e
  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.000345s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000509s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000296s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000269s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000507s ]
  6. SELECT * FROM `set` [ RunTime:0.010571s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000818s ]
  8. SELECT * FROM `article` WHERE `id` = 491140 LIMIT 1 [ RunTime:0.008373s ]
  9. UPDATE `article` SET `lasttime` = 1783119759 WHERE `id` = 491140 [ RunTime:0.011298s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.003877s ]
  11. SELECT * FROM `article` WHERE `id` < 491140 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.003432s ]
  12. SELECT * FROM `article` WHERE `id` > 491140 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.004957s ]
  13. SELECT * FROM `article` WHERE `id` < 491140 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.029698s ]
  14. SELECT * FROM `article` WHERE `id` < 491140 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.006509s ]
  15. SELECT * FROM `article` WHERE `id` < 491140 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.001915s ]
0.150229s