Python字符串操作教程_切片拼接与格式化详解
技术百科
舞夢輝影
发布时间:2026-01-01
浏览: 次 Python字符串不可变,需掌握切片(s[start:end:step],左闭右开、负索引、越界安全)、拼接(少量用+,多变量用f-string,大批量用join)和格式化(推荐f-string,次选format,避免%)。
Python字符串是不可变的序列类型,掌握切片、拼接和格式化是日常编码的基础。关键在于理解索引规则、内存行为和不同格式化方式的适用场景。
字符串切片:灵活提取子串
切片语法为 s[start:end:step],左闭右开,支持负索引和步长。不指定时默认 start=0、end=长度、step=1。
- 正向切片:"hello"[1:4] → "ell"(从索引1到3)
- 负索引切片:"python"[:-2] → "pyth"(去掉末尾两个字符)
- 反向与步长:"abcdef"[::-1] → "fedcba"(反转整个字符串)
- 越界安全:"abc"[10:20] 返回空字符串,不会报错
字符串拼接:选对方法提升效率
拼接看似简单,但方式选择影响可读性与性能,尤其在循环中大量拼接时。
- 少量拼接用 + 或 +=:适合变量少、逻辑清晰的场景,如 "Name: " + name + ", Age: " + str(age)
- 多变量推荐 f-string(Python 3.6+):简洁高效,支持表达式,如 f"User {name.upper()} is {age + 1} next year"
- 大批量拼接用 str.join():比循环 += 快得多,如 " ".join(word_list),注意 join 要求元素全为字符串
- 避免在循环中频繁使用 += 拼接长字符串:因字符串不可变,每次都会生成新对象,造成 O(n²) 开销
字符串格式化:从旧到新,按需选用
Python 提供多种格式化方式,兼容性与表达力各不相同。
- % 格式化(类 C 风格):已逐渐淘汰,仅需维护旧代码时接触,如 "%s: %d" % (name, age)
-
str.format():位
置参数 "{} {}".format(a, b) 或命名参数 "{name} is {age}".format(name="Tom", age=25),支持复杂格式如 "{:.2f}".format(3.1415)
- f-string(推荐):运行时求值,支持任意表达式、函数调用甚至条件判断,如 f"{datetime.now():%Y-%m-%d} | {'OK' if ok else 'FAIL'}"
- 格式说明符通用:宽度、对齐(
左、>右、^居中)、填充字符、精度等,如 f"{x:05d}" 补零至5位
字符串操作不复杂但容易忽略细节,比如切片越界不报错、拼接性能陷阱、f-string 中大括号的转义写法(用双大括号表示单个大括号)。熟练后能写出更清晰、更高效的代码。
相关栏目:
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
AI推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
SEO优化<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
技术百科<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
谷歌推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
百度推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
网络营销<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
案例网站<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
精选文章<?muma echo $count; ?>
】
相关推荐
- Win10怎么查看内存时序参数_Win10CPU-
- 如何用::实现单例模式_php静态方法与作用域操作
- Win11应用商店下载慢怎么办 Win11更改DN
- Win10怎样安装Excel数据分析工具_Win1
- 如何用正则表达式精确匹配“start”到“end”
- 如何在 Windows 11 中使用 AlomWa
- php嵌入式需要什么环境_搭建php+linux嵌
- Win11怎么查看显卡显存_查询Win11显卡详细
- Win11 explorer.exe频繁崩溃_修复
- VSC怎样用终端运行PHP_命令行执行脚本的步骤【
- Linux怎么实现内网穿透_Linux安装Frp客
- Win11怎么关闭应用权限_Windows11相机
- Win10如何更改电脑休眠时间_Windows10
- php打包exe如何加密代码_防反编译保护方法【技
- Win11怎么关闭粘滞键_彻底禁用Windows
- Golang如何遍历目录文件_Golang fil
- 使用类变量定义字符串常量时的类型安全最佳实践
- php本地部署支持nodejs吗_php与node
- C++如何将C风格字符串(char*)转换为std
- c++协程和线程的区别 c++异步编程模型对比【核
- Win11怎么清理C盘下载文件夹_Win11清理下
- Win11怎么设置麦克风权限_允许应用访问Win1
- VSC怎么在PHP中调试MySQL_数据库交互排查
- Win11怎么关闭防火墙通知_屏蔽Win11安全中
- php怎么下载安装后测试是否成功_简单脚本验证方法
- Win11怎么关闭开机声音_Win11系统启动提示
- Python邮件系统自动化教程_批量发送解析与模板
- 如何用列表一次性对 DataFrame 的指定列应
- 如何在Golang中配置代码格式化工具_使用gof
- 一文教你快速开通网站LOGO图
- 本地php环境打开php文件直接下载_浏览器解析p
- php删除数据怎么加限制_带where条件删除避免
- c++怎么使用std::filesystem遍历文
- Windows服务持续崩溃怎样修复_系统服务保护机
- php怎么下载安装后设置默认字符集_utf8配置步
- PHP怎么接收URL中的锚点参数_获取#后面参数值
- php订单日志权限怎么设_php订单日志文件权限设
- Win11怎样安装企业微信_Win11安装企业微信
- Windows10如何查看保存的WiFi密码_Wi
- Windows10怎么查看系统激活状态_Windo
- c++如何连接Redis c++ hiredis库
- Windows10如何更改日期格式_Win10区域
- 如何在Golang中捕获JSON序列化错误_Gol
- Win11怎么更改盘符_Win11磁盘管理修改驱动
- Win11如何设置计划任务 Win11定时执行程序
- Win11怎么更改任务栏颜色_Windows11个
- Win11如何更改用户账户文件夹名称 Win11修
- Linux如何安装Golang环境_Linux下G
- 如何在Golang中指定模块版本_使用go.mod
- Python字符串处理进阶_切片方法解析【指导】

置参数 "{} {}".format(a, b) 或命名参数 "{name} is {age}".format(name="Tom", age=25),支持复杂格式如 "{:.2f}".format(3.1415)
QQ客服