Python中的四种字符串格式化输出方法

Python最主要的字符串格式化输出主要有四种,在这分别介绍。

一、旧式字符串格式化
  Python内置了一个独特的字符串操作方法,通过 % 操作符进行位置格式化。跟 C 中的 printf 很像。如下:在这里插入图片描述
  %s 格式说明符告诉 Python 在哪替换 name。
  格式输出的字符也跟 C 一样,比如用 %x 输出十六进制:在这里插入图片描述
  这里使用了 %x 格式说明符将 int 值转换为字符串并将其表示为十六进制数。
  由于 % 操作符只接受一个参数,如果要在单个字符串中进行多次替换,需要将字符串包装到右边的元组中,如下:在这里插入图片描述
  如果要将别名传递给 % 操作符,还可以在格式字符串中按名称替换变量。相当于字典。如下:在这里插入图片描述

2、新式字符串格式化方法
  Python3 引入了一种新的字符串格式化方式,后面又移植到了 Python2.7 中。可以免去 % 操作符,取而代之调用 format() 函数。
  执行简单的位置格式化:
在这里插入图片描述
  也可以用别名以任意顺序替换变量:在这里插入图片描述
  注意到,将 int 变量格式化为十六进制的语法变了,需要在变量名后面加上 :x 来传递格式规范。

3、字符串字面值插值(Python 3.6+)
  Python 3.6 增加了另一种字符串格式化方法,叫做格式化字符串字面值( formatted string literal ),可以在字符串常量内使用嵌入的 Python 表达式。如下:
在这里插入图片描述
  这种方式极其强大,可以嵌入任意的 Python 表达式,比如算术运算:在这里插入图片描述
  本质上,格式化字符串字面值是 Python 解析器的功能:将 f 字符串转换为一系列字符串常量和表达式,然后合并起来构建最终的字符串。
  字符串字面值也支持 string.format() 所使用的的字符串格式化语法,如下:在这里插入图片描述
4、模板字符串
  模板字符串机制相对简单,也不是很强大,但是它很安全,适用于处理程序用户生成的格式字符串,其他方法有可能引起安全漏洞。
  模板字符串需要从内置字符串模块中导入 Template 类。想详细了解的可以看一下官方文档。

经验法则:
  如果格式字符串是用户提供的,使用模板字符串可以避免安全问题。如果不是,再根据 Python 版本选择:Python 3.6+ 使用字符串字面值,老版本则使用新式字符串格式化。

如果想详细了解,可以看一下原书。

reference:
  《深入理解Python特性》 Dan Bader

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值