Python字符串完全指南:Python Essential Training 切片、f-string格式化与多行字符串实战手册
【免费下载链接】python-ET-4314028
This repo is for linkedin learning course: Python Essential Training (UPDATE FY24 Q4)
本文是 Python 字符串(string)的完整实战指南,配套 LinkedIn Learning 课程项目 Python Essential Training(python-ET-4314028)。你将快速掌握 Python 字符串切片、f-string 格式化与多行字符串三大核心技能,并学会用 Jupyter Notebook 动手练习。
📚 本仓库是课程
Python Essential Training的官方练习库,所有示例都可以在 exercise_files/ 目录下找到对应的 Notebook 文件。
一、为什么字符串是 Python 学习的第一站?
字符串是 Python 中最常用的数据类型,几乎每个程序都离不开它:打印输出、拼接信息、解析文件、拼接路径……而 Python 字符串的三大"杀手锏"就是:
| 技能 | 一句话理解 | 典型场景 |
|---|---|---|
| 🍕 切片(Slicing) | 像切蛋糕一样截取子串 | 提取文件名后缀、截取用户名 |
| ✨ f-string 格式化 | 在字符串里直接嵌入变量和表达式 | 拼接日志、输出结果 |
| 📄 多行字符串 | 三引号包起整段文本 | 写 SQL、模板、提示信息 |
本节内容全部来自课程练习文件 03_04_Strings.ipynb,先克隆仓库再用 Jupyter 打开即可逐段运行。
二、Python 字符串切片:3 步上手索引与截取
2.1 索引:从 0 开始数
Python 中字符串的每个字符都有一个"门牌号",从 0 开始:
name = 'My name is Ryan Mitchell' print(name[0]) # M print(name[1]) # y也可以用负数从末尾倒数,比如name[-1]就是最后一个字符。
2.2 切片语法:字符串[起点:终点]
切片是 Python 字符串最强大的特性,语法为s[start:stop],包含起点、不包含终点:
name[0:7] # 'My name' name[:7] # 'My name'(省略起点,从开头开始) name[11:] # 'Ryan Mitchell'(省略终点,取到末尾)💡 小技巧:切片规则对 list 同样有效,例如myList[2:4]返回[3, 4]。
2.3 常用搭配:len()求长度
想知道字符串有多长?用内置函数len():
len(name) # 24三、f-string 格式化:最优雅的 Python 字符串拼接方式
3.1 三种拼接方式对比
把变量"塞进"字符串有三种主流写法,效果相同,优雅程度不同:
| 方式 | 代码示例 | 结果 |
|---|---|---|
| 字符串拼接 | 'My number is: ' + str(5) | 'My number is: 5' |
| f-string(推荐 ✨) | f'My number is: {5}' | 'My number is: 5' |
| format() | 'Pi is: {}'.format(math.pi) | 'Pi is: 3.141592653589793' |
f-string 在字符串前加一个字母f,就能在大括号{}里直接写变量,甚至写表达式:
f'My number is: {5} and twice that is {2*5}' # 'My number is: 5 and twice that is 10'3.2 格式说明符:控制小数位数
在{}内用:后面跟格式代码,可以精确控制输出格式。课程中的经典例子是保留两位小数的 π:
import math f'Pi is: {math.pi:.2f}' # 'Pi is: 3.14'.2f表示"保留 2 位小数的浮点数",这是数据报表、日志输出中最常用的写法之一。
四、多行字符串:用三引号搞定长文本
单行字符串写不下整段文本怎么办?用三引号'''包裹,换行和缩进都会原样保留:
myString = ''' Here is a long block of text I can add newlines! the text doesn't stop until it sees ''' ''' print(myString)⚠️ 注意:文本要一直持续到遇到结束的三个引号才停止,所以多行字符串内部可以安全地包含单引号,这正是写 SQL 语句、HTML 模板、用户提示信息的利器。
五、实战演练:十六进制转十进制(Challenge 挑战)
学完切片就能上手真正的实战了。课程第 3 章的 Challenge 要求你:把十六进制字符串(如'ABC')转换为十进制整数。
💡 解题三步走:
- 查长度:
len(hexNum)知道字符串几位 - 逐位取值:
hexNum[0]、hexNum[1]……切片语法派上用场 - 判断合法性:用
for char in myString循环检查每个字符是否是合法的十六进制字符
完整提示见 03_06_Challenge_Hints.ipynb,其中还展示了 f-string 在错误提示中的应用:
if char not in hexNumbers: print(f'{char} is not a hex character!')做完这道题,字符串切片、f-string 就都串起来了。🎯
六、进阶一瞥:从 string 到 bytes
字符串在内存中本质是字节序列。课程 03_05_bytes.ipynb 展示了一个有趣的例子:把表情符号'🙄'编码为 UTF-8 字节后修改一个字节,解码后竟然变成了'🙅':
smileyBytes = bytes('🙄', 'utf-8') smileyBytes.decode('utf-8') # '🙄'理解 string 与 bytes 的转换(encode/decode),是后续处理网络数据、读写文件的必经之路。
七、学习路线与练习清单
按以下顺序练习,1 小时即可通关 Python 字符串:
- ✅ 02_01_Basic_Data_Types.ipynb:认识字符串是基本数据类型之一
- ✅ 03_04_Strings.ipynb:切片、f-string、多行字符串(本文主角)
- ✅ 03_05_bytes.ipynb:字符串与字节的转换
- ✅ 03_06_Challenge_Hints.ipynb:十六进制转换综合挑战
- 📖 reference_guide.ipynb:课程参考手册,遇到遗忘随时查阅
💪 提示:Jupyter 环境搭建遇到问题?仓库附带了 installation_troubleshooting.pdf 故障排查手册,安装 Python、pip 和 Jupyter Notebook 的常见问题这里都有答案。
八、总结:记住这 3 个要点就够了
- 切片:
s[start:stop],含头不含尾,可省略任意一端——Python 字符串截取就这么简单; - f-string:字符串前加
f,{变量}嵌内容,{变量:.2f}控精度——比+拼接优雅十倍; - 多行字符串:三引号包裹,换行原样保留——长文本写起来毫无压力。
打开 exercise_files/03_04_Strings.ipynb 动手跑一遍,Python 字符串就真正属于你的了。🚀
【免费下载链接】python-ET-4314028
This repo is for linkedin learning course: Python Essential Training (UPDATE FY24 Q4)
相关推荐
Black f字符串支持:现代Python字符串格式化的最佳实践
Black f字符串支持:现代Python字符串格式化的最佳实践 想要写出既美观又规范的Python代码吗?Black作为Python代码格式化工具的黄金标准,
开发工具格式化代码质量CLIPython字符串格式化终极指南:f-string与format方法的完整对比
Python字符串格式化终极指南:f string与format方法的完整对比 Python字符串格式化是现代Python开发中不可或缺的核心技能💡。在gh_
示例工程4倍速的语音转文字:faster-whisper 上手教程
4倍速的语音转文字:faster whisper 上手教程 13 分钟会议录音,原版 Whisper 在 GPU 上要 2 分 23 秒,faster whis
人工智能语音音频本地部署
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考