学习笔记32字符串格式化

Posted SAP剑客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学习笔记32字符串格式化相关的知识,希望对你有一定的参考价值。

字符串格式化

Python中字符串格式化的方法不止一种,每种方式都有它的优缺点,具体使用哪一种,需要取决于具体情况。

一、旧式字符串格式化

Python内置了一个独特的字符串操作:通过“%操作符”可以方便快捷地进行位置格式化。

 

如果要在单个字符串中进行多次替换,需要对旧式字符串格式化语法加以改动,由于%操作符只能接收一个参数,因此需要将字符串包装到右边的元组中。

 

二、新式字符串格式化

新式字符串格式化可以免去%操作符这种特殊的语法,并使得字符串格式化的语法更加规整,新式字符串在字符串对象上调用了format()函数

上例中将int变量格式化为十六进制数字符串的语法也改变了,需要在变量名后面添加“:x”后缀来传递格式规范。

三、字符串字面值插值(Python3.6+

格式化字符串字面值(formatted string literal),可以在字符串常量内使用嵌入的Python表达式。这种新的格式语法非常强大,由于其中可以嵌入任意的Python表达式,所以甚至能内联算术运算。

本质上格式化字符串字面值是Python解析器的功能,将f字符串转换为一系列字符串常量和表达式,然后合并起来构建最终字符串。

四、模板字符串

模板字符串(template string),需要从Python的内置字符串模块中导入Template类,模板字符串不是核心语言功能,而是由标准库中的模块提供。

 模板字符串最佳使用场景是用来处理程序用户生成的格式字符串,因为模板字符串较为简单,所以比较安全。

【总结】

如果格式字符串使用户提供的,使用模板字符串来避免安全问题,如果不是,在考虑Python的版本,Python3.6+就使用字符串字面值插值,其他版本就使用新式字符串格式化。

以上是关于学习笔记32字符串格式化的主要内容,如果未能解决你的问题,请参考以下文章

MongoDB学习笔记-数据格式及数据类型

go语言学习笔记 — 基础 — 基本数据类型 — 字符串:字符

python学习笔记四:字符串格式化

IPv6基础学习笔记

python学习笔记回忆录

Python 学习笔记 -- 字符串格式化输出