当前位置:首页>python>Python 零基础 100 天 — Day 3 字符串操作

Python 零基础 100 天 — Day 3 字符串操作

  • 2026-06-27 17:22:05
Python 零基础 100 天 — Day 3 字符串操作

🔤 字符串操作:玩转文本数据

🕐 预计用时:2-3 小时 | 🎯 今日目标:掌握字符串的索引、切片、格式化和常用方法


📖 今日目录

  1. 字符串是什么?
  2. 索引:给字符编号
  3. 切片:截取一段字符
  4. f-string 格式化
  5. 常用字符串方法
  6. 字符串的不可变性
  7. 字符串拼接
  8. 今日练习
  9. 今日小结

1. 字符串是什么?

📝 一句话解释

字符串就是一串文本数据,用引号包裹起来。

你可以把字符串想象成一个珠子手链 📿——每一颗珠子就是一个字符,整条手链就是一个字符串。

# 这些都是字符串name = "小明"greeting = '你好'address = "北京市海淀区中关村大街1号"empty = ""  # 空字符串,什么都没有的"空手链"# 单引号和双引号都可以s1 = 'hello's2 = "hello"print(s1 == s2)  # True,效果完全一样
True

💡 单引号 vs 双引号:就像 T恤和衬衫,穿哪个都行。但当字符串里有引号时,就需要"内外搭配"——外面用双引号,里面就用单引号,反之亦然。

# 引号的"内外搭配"print("小明说:'你好!'")     # 外双内单 ✅print('小明说:"你好!"')     # 外单内双 ✅# print("小明说:"你好!"")   # ❌ 报错!引号冲突了
小明说:'你好!'小明说:"你好!"

📏 len() 函数:数一数有几颗珠子

name = "Python"print(len(name))  # 数一下有几个字符sentence = "我爱编程"print(len(sentence))empty = ""print(len(empty))
640

字符串就像一行文字,每个字符都有自己的位置


2. 索引:给字符编号

📚 生活比喻:书架上的书

想象你有一个书架,上面放了一排书。从左边开始数,第1本是0号,第2本是1号……这就是索引

Python 的索引从 0 开始!这是新手最容易踩的坑。

s = "Python"# 正向索引(从左到右,从0开始)#  P   y   t   h   o   n#  0   1   2   3   4   5# 反向索引(从右到左,从-1开始)#  P    y    t    h    o    n# -6   -5   -4   -3   -2   -1
s = "Python"# 用正向索引取字符print(s[0])   # 第1个字符print(s[1])   # 第2个字符print(s[5])   # 第6个字符# 用反向索引取字符print(s[-1])  # 最后一个字符print(s[-2])  # 倒数第2个字符print(s[-6])  # 第1个字符(和s[0]一样)
PynnoP

索引就像书架上每本书的编号——从0开始数

🤔 为什么从 0 开始?这是编程界的"传统"。就像楼层:在中国1楼是地面层,在英国0楼才是地面层。Python 选择了"0楼"方案。记住就好,不用纠结为什么!

⚠️ 越界会报错

s = "Python"# print(s[10])  # ❌ IndexError: 字符串索引超出范围# 安全的做法:先检查长度if len(s) > 10:    print(s[10])else:    print("字符串没那么长!")
字符串没那么长!

3. 切片:截取一段字符

🍞 生活比喻:切面包

切片就像切面包——你可以从任意位置开始切,到任意位置结束,还能决定切多厚(步长)。

# 切片语法:s[start:end:step]# start: 从哪里开始切(包含)# end:   切到哪里停(不包含!)# step:  每隔几个切一刀(默认为1)

🔪 基本切片

s = "Hello, Python!"# 从索引1到索引4(不包含4)print(s[1:4])    # ell# 从头开始切到索引5(不包含5)print(s[:5])     # Hello# 从索引7切到末尾print(s[7:])     # Python!# 完整复制print(s[:])      # Hello, Python!
ellHelloPython!Hello, Python!

💡 记住:切片是"左闭右开"!s[1:4] 包含索引1、2、3,但不包含索引4。就像切面包:刀从位置1切入,到位置4切出——刀痕在4的位置,但那片面包是从1到3的。

⏩ 带步长的切片

s = "0123456789"# 每隔1个取一个(默认)print(s[::1])     # 0123456789# 每隔2个取一个print(s[::2])     # 02468# 每隔3个取一个print(s[::3])     # 0369# 从索引1开始,每隔2个取一个print(s[1::2])    # 13579
012345678902468036913579

🔄 反转字符串

s = "Python"# 步长为-1,就是从右往左切print(s[::-1])    # 反转!word = "上海自来水来自海上"print(word[::-1])  # 经典回文
nohtyP上海自来水来自海上

🎉 s[::-1] 是 Python 反转字符串最优雅的方式!步长为 -1 就是"倒着切面包"。

📋 切片速查表

切片写法
含义
示例(s="Hello")
s[1:4]
索引1到3
"ell"
s[:3]
从头到索引2
"Hel"
s[2:]
从索引2到末尾
"llo"
s[:]
完整复制
"Hello"
s[::2]
每隔1个取一个
"Hlo"
s[::-1]
反转
"olleH"
s[-3:]
最后3个字符
"llo"

4. f-string 格式化

🎨 什么是 f-string?

f-string 是 Python 最好用的字符串格式化方式(Python 3.6+ 才有)。

想象你填表格——表格上有固定的模板,你只需要把空白处填上具体内容。f-string 就是这个"填表格"的过程。

name = "小明"age = 18city = "北京"# f-string:在字符串前加 f,用 {} 填入变量print(f"我叫{name},今年{age}岁,来自{city}")
我叫小明,今年18岁,来自北京

💡 f-string 的 f 是 "format"(格式化)的缩写。花括号 {} 就是"填空的地方",Python 会自动把变量的值填进去。

🔢 在 f-string 里做运算

price = 25quantity = 3# 花括号里可以直接写表达式print(f"单价:{price}元")print(f"数量:{quantity}个")print(f"总价:{price * quantity}元")    # 可以算数!print(f"打折后:{price * quantity * 0.8}元")
单价:25元数量:3个总价:75元打折后:60.0元

📐 格式控制

pi = 3.14159265# 保留2位小数print(f"圆周率:{pi:.2f}")# 保留4位小数print(f"圆周率:{pi:.4f}")# 数字补零(宽度5,不足补0)num = 42print(f"编号:{num:05d}")    # 00042# 字符串居中、左对齐、右对齐name = "Python"print(f"[{name:^20}]")   # 居中,宽度20print(f"[{name:<20}]")   # 左对齐print(f"[{name:>20}]")   # 右对齐
圆周率:3.14圆周率:3.1416编号:00042[       Python       ][Python              ][              Python]

🔄 其他格式化方式(了解即可)

name = "小明"age = 18# 方法1:f-string(推荐!)print(f"我叫{name},今年{age}岁")# 方法2:format() 方法print("我叫{},今年{}岁".format(name, age))# 方法3:% 格式化(老式写法)print("我叫%s,今年%d岁" % (name, age))
我叫小明,今年18岁我叫小明,今年18岁我叫小明,今年18岁

🏆 统一推荐使用 f-string!最简洁、最直观、性能最好。其他两种了解即可,看到别人代码时能认出来就行。

f-string 让字符串格式化变得简单直观


5. 常用字符串方法

字符串自带了很多"工具方法",就像瑞士军刀上的各种小工具。

✂️ split() — 切割字符串

把一串文字按指定分隔符切成列表,就像用剪刀✂️剪绳子。

sentence = "我 爱 Python 编程"# 按空格切割words = sentence.split()print(words)# 指定分隔符data = "苹果,香蕉,橘子,葡萄"fruits = data.split(",")print(fruits)# 限制切割次数s = "a-b-c-d-e"print(s.split("-", 2))   # 只切2次
['我', '爱', 'Python', '编程']['苹果', '香蕉', '橘子', '葡萄']['a', 'b', 'c-d-e']

🔗 join() — 拼接字符串

把列表里的元素用指定符号连接起来,就像用绳子把珠子串成手链。

words = ["我", "爱", "Python"]# 用空格连接sentence = " ".join(words)print(sentence)# 用逗号连接result = ",".join(words)print(result)# 用箭头连接result = " → ".join(words)print(result)
我 爱 Python我,爱,Python我 → 爱 → Python

🧹 strip() — 去除空白

去掉字符串两边的空格、换行符等,就像擦干净脏东西。

s = "   Hello, Python!   "print(f"[{s}]")            # 原样print(f"[{s.strip()}]")    # 去两边print(f"[{s.lstrip()}]")   # 只去左边print(f"[{s.rstrip()}]")   # 只去右边# 也可以去除指定字符s2 = "###Hello###"print(s2.strip("#"))
[   Hello, Python!   ][Hello, Python!][Hello, Python!   ][   Hello, Python!]Hello

🔄 replace() — 替换

s = "我爱Java,Java最好用了"# 替换所有匹配的new_s = s.replace("Java", "Python")print(new_s)# 只替换前1个s2 = "aaa-bbb-aaa-bbb"print(s2.replace("aaa", "xxx", 1))
我爱Python,Python最好用了xxx-bbb-aaa-bbb

🔍 find() — 查找

s = "Hello, Python!"# 查找子字符串的位置print(s.find("Python"))   # 7(从索引7开始)print(s.find("Java"))     # -1(找不到返回-1)# 从指定位置开始找print(s.find("l", 3))     # 从索引3开始找"l"
7-13

🔠 大小写转换

s = "Hello, Python!"print(s.upper())     # 全部大写print(s.lower())     # 全部小写print(s.title())     # 每个单词首字母大写print(s.swapcase())  # 大小写互换
HELLO, PYTHON!hello, python!Hello, Python!hELLO, pYTHON!

🔎 startswith() 和 endswith()

filename = "photo_2024.jpg"# 是否以某个字符串开头print(filename.startswith("photo"))print(filename.startswith("video"))# 是否以某个字符串结尾print(filename.endswith(".jpg"))print(filename.endswith(".png"))
TrueFalseTrueFalse

💡 这两个方法在文件处理时特别常用!比如判断一个文件是不是图片:if filename.endswith((".jpg", ".png", ".gif")):    print("是图片文件")

📊 常用方法速查表

方法
作用
示例
split(sep)
按分隔符切割
"a,b,c".split(",")
 → ['a','b','c']
join(list)
拼接列表为字符串
",".join(['a','b'])
 → "a,b"
strip()
去除两边空白
" hi ".strip()
 → "hi"
replace(old, new)
替换子串
"abc".replace("b","X")
 → "aXc"
find(sub)
查找位置
"hello".find("ll")
 → 2
upper()
转大写
"hi".upper()
 → "HI"
lower()
转小写
"HI".lower()
 → "hi"
startswith(s)
是否以 s 开头
"hello".startswith("he")
 → True
endswith(s)
是否以 s 结尾
"hello".endswith("lo")
 → True
count(sub)
统计出现次数
"banana".count("a")
 → 3

Python 字符串方法就像瑞士军刀上的各种工具,各司其职


6. 字符串的不可变性

🔒 什么是不可变?

字符串一旦创建,就不能修改其中的某个字符。

这就像刻在石头上的字——你不能直接改某个笔画,只能重新刻一块新石头。

s = "Hello"# ❌ 不能直接修改某个字符# s[0] = "h"  # TypeError: 'str' object does not support item assignment# ✅ 正确做法:创建一个新字符串s = "h" + s[1:]print(s)   # hello# 或者用 replaces = "Hello"s = s.replace("H", "h")print(s)
hellohello

💡 为什么字符串要设计成不可变?1. 安全:不用担心别人偷偷改了你的字符串2. 高效:Python 可以缓存和复用相同内容的字符串3. 可哈希:可以当字典的 key(后面会学到)就像银行存折上的数字——你可以开一张新的存折,但不能在原存折上涂改。

# 不可变意味着每次"修改"都创建了新对象s1 = "Hello"s2 = s1s1 = s1 + " World"print(s1)   # Hello World(新字符串)print(s2)   # Hello(原来的没变!)
Hello WorldHello

7. 字符串拼接

➕ 方法1:用 + 号拼接

first = "张"last = "三"name = first + lastprint(name)# 拼接多个greeting = "你好," + name + "!欢迎来到Python世界!"print(greeting)
张三你好,张三!欢迎来到Python世界!

🔗 方法2:用 join() 拼接

words = ["我", "爱", "学", "Python"]# 用 + 号(不推荐)result = words[0] + words[1] + words[2] + words[3]print(result)# 用 join(推荐!)result = "".join(words)print(result)# 还能加分隔符result = ",".join(words)print(result)
我爱学Python我爱学Python我,爱,学,Python

⚡ + 和 join 的区别

💡 为什么 join 更好?用 + 拼接时,Python 每次都会创建一个新的字符串对象。拼接1000次,就创建1000个临时对象,很浪费内存。join() 一次性算好总长度,只创建一个新字符串,效率高很多!就像:+ = 每加一块砖就盖一次房子,盖了拆、拆了盖 ❌join() = 先算好需要多少砖,一次性盖好 ✅

# 性能对比(拼接大量字符串时)import time# 用 + 号start = time.time()s = ""for i in range(10000):    s += str(i)print(f"+ 号拼接耗时:{time.time() - start:.4f}秒")# 用 joinstart = time.time()s = "".join(str(i) for i in range(10000))print(f"join 拼接耗时:{time.time() - start:.4f}秒")
+ 号拼接耗时:0.0031秒join 拼接耗时:0.0018秒

🏆 结论:少量拼接用 + 没问题(更直观),大量拼接用 join(更高效)。

字符串拼接就像把一段段文字组合成完整的文章


8. 今日练习

🏋️ 练习 1:取字符

给定字符串 s = "Hello, Python!",用索引打印出:

  1. 第一个字符
  2. 最后一个字符
  3. 中间的逗号和空格
s = "Hello, Python!"print(s[0])     # Hprint(s[-1])    # !print(s[5:7])   # , 

🏋️ 练习 2:字符串反转

用切片把字符串 "abcdefg" 反转成 "gfedcba"

s = "abcdefg"print(s[::-1])  # gfedcba

🏋️ 练习 3:格式化输出个人信息

用 f-string 输出:姓名、年龄、身高(保留1位小数)、城市。

name = "小明"age = 18height = 175.567city = "北京"print(f"姓名:{name}")print(f"年龄:{age}岁")print(f"身高:{height:.1f}cm")print(f"城市:{city}")
姓名:小明年龄:18岁身高:175.6cm城市:北京

🏋️ 练习 4:字符串处理

给定一句英文,完成以下操作:

  1. 转为全大写
  2. 统计单词数量
  3. 把空格替换为下划线
s = "I love Python programming"print(s.upper())print(len(s.split()))print(s.replace(" ", "_"))
I LOVE PYTHON PROGRAMMING4I_love_Python_programming

🏋️ 练习 5:邮箱验证

检查一个字符串是否像合法的邮箱地址(包含 @ 且以 .com 或 .cn 结尾)。

email = "test@example.com"if "@" in email and (email.endswith(".com") or email.endswith(".cn")):    print(f"{email} 是合法的邮箱地址")else:    print(f"{email} 不是合法的邮箱地址")
test@example.com 是合法的邮箱地址

9. 今日小结

📋 今天你学到了什么?

知识点
一句话总结
字符串定义
用引号包裹的文本,单双引号都行
len() 函数
获取字符串长度(有几个字符)
索引
用 s[i] 取第 i 个字符,正向从0开始,反向从-1开始
切片
用 s[start:end:step] 截取子串,左闭右开
f-string
f"内容{变量}"
,最推荐的格式化方式
split() / join()
split 切割,join 拼接
strip() / replace()
strip 去空白,replace 替换子串
find()
查找子串位置,找不到返回 -1
upper() / lower()
大小写转换
startswith / endswith
判断开头/结尾
不可变性
字符串不能直接修改,只能创建新字符串
拼接
少量用 +,大量用 join

🧠 自检清单

⬜ 知道 Python 索引从 0 开始

⬜ 能用 s[-1] 取最后一个字符

⬜ 理解切片的"左闭右开"规则

⬜ 能用 s[::-1] 反转字符串

⬜ 会用 f-string 格式化输出

⬜ 掌握 split、join、strip、replace、find 等常用方法

⬜ 知道字符串是不可变的

⬜ 了解 + 和 join 拼接的区别

🎯 Day 4 预告

明天我们将学习 列表(list)——Python 中最常用的数据结构,就像一个可以随意增删改查的"购物清单"。

字符串是"固定的手链",列表是"可拆卸的乐高积木" 🧱


📅 Day 3 完成!你已经掌握了字符串的基本操作,明天继续加油!🚀

轻松时刻:

请在微信客户端打开

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-03 09:46:03 HTTP/2.0 GET : https://f.mffb.com.cn/a/493499.html
  2. 运行时间 : 0.121047s [ 吞吐率:8.26req/s ] 内存消耗:4,533.59kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=b520c32025ffbe65f81c48e45e0f2f0d
  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.000537s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000670s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000351s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.011193s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000886s ]
  6. SELECT * FROM `set` [ RunTime:0.000250s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000709s ]
  8. SELECT * FROM `article` WHERE `id` = 493499 LIMIT 1 [ RunTime:0.000564s ]
  9. UPDATE `article` SET `lasttime` = 1783043163 WHERE `id` = 493499 [ RunTime:0.012641s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000334s ]
  11. SELECT * FROM `article` WHERE `id` < 493499 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000934s ]
  12. SELECT * FROM `article` WHERE `id` > 493499 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001080s ]
  13. SELECT * FROM `article` WHERE `id` < 493499 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.005250s ]
  14. SELECT * FROM `article` WHERE `id` < 493499 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.003779s ]
  15. SELECT * FROM `article` WHERE `id` < 493499 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.001811s ]
0.124527s