学习笔记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字符串格式化的主要内容,如果未能解决你的问题,请参考以下文章