python中0xf_Python3.6 f’{a} + {b} = {a+b}’——字符串格式化中令人震惊的真相

本文介绍了Python 3.6以后的f-string字符串格式化方法,对比了旧式%、新式format和模板字符串,并推荐f-string作为简洁高效的选择。作者还推荐了相关书籍和资源,适合追求简洁代码的读者。
摘要由CSDN通过智能技术生成

读者对象:

Python语法进阶者

简洁代码追求者

1 Python的4种字符串格式化

error = 50159747054

name = 'Bob'

#打印 'Hey Bob, there is a 0xbadc0ffee error!'

1.1 旧式字符串格式化:%

'Hey %s, there is a 0x%x error!' % (name,error) #位置引用

'Hey %(name)s, there is a 0x%(error)x error!' % {'name':name,'error':error} #变量名引用

1.2 新式字符串格式化:format

'Hey {name}, there is a 0x{error:x} error!'.format(name=name,error=error)

1.3 字符串字面值:f-string

f'Hey {name}, there is a 0x{error:x} error!'

a=5

b=10

f'{a} + {b} = {a+b}' #f格式支持表达式和计算

1.4 模板字符串:Template,安全

from string import Template

temp_string='Hey $name, there is a $error error!'

Template(temp_string).substitute(name=name,error=hex(error))

1.5 如何选择字符串格式化

其中f-string是Python3.6开始的新特性,功能强大,代码简洁,完全符合代码输入的顺序,不再需要像传统先占位在引用对应变量,个人推崇简洁风格:

如果格式串是用户提供的,使用模板字符串,避免安全问题。

优先使用字符串字面值f,不再使用旧式%、新式format。

2 f-string格式化字符串详细介绍

f-string是Python3.6的新特性,很多书籍都没详细介绍,想深入了解请参考网络文章:Python格式化字符串f-string f"{}{}{}"详细介绍​blog.csdn.netpython3 f-string格式化字符串的高级用法​mlln.cn

3 推荐阅读《深入理解Python的特性》

本文标题其实是引用自最近的Python语法进阶新书《深入理解Python特性》,书很薄,但都是进阶干活,比《流畅的Python》更简洁易懂。后续读完再对整本书做总结。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值