python 格式化字符串 f_Python 字符串格式化%和.format,f格式化字符串的区别是什么?【面试题详解】...

本文详细介绍了Python中三种字符串格式化的不同:%操作符、format方法以及Python3.6引入的f-string。通过示例展示了它们在处理不同类型数据时的行为,特别是对于列表等复合类型的数据,format方法提供了更灵活的解决方案。f-string则在性能上优于前两者,是现代Python编程的首选。
摘要由CSDN通过智能技术生成

今天爱分享给大家带来Python 字符串格式化%和.format,f格式化字符串的区别是什么?【面试题详解】,希望能够帮助到大家。

格式化字符串有两种方法:%和format,具体这两种方法有什么区别?请看以下解析。

上面的代码在运行时会抛出一个如下的TypeError。

TypeError: not all arguments converted during string formatting

像这类格式化的需求就需要写成下面的格式:

# 定义一个坐标值

c = (250, 250)

# 使用%格式化

s1 = "坐标: %s" % (c,)

# 使用 format 就不会存在上面的问题

s2 = "坐标: {}".format(c)

print(s2) # 坐标: (250, 250)

一般情况下,使用 % 已经足够满足程序的需求,但是像这种需要在一个位置添加元素或列表类型的代码,最好选择 format 方法。在 format 方法中,{} 表示占位符,如下所示:

# {}表示占位符

print("{},爱老虎".format("zhangsan")) # zhangsan,爱老虎

print("{},{}爱老虎".format("王雷", "李梅")) # 王雷,李梅爱老虎

# 0表示第一个参数的位置

print("{1},{0}爱老虎".format("李梅", "王雷")) # 王雷,李梅爱老虎

Python 3.6 版本开始出现了此新的格式化字符串,f-string 格式化字符串,性能又优于前面两种方式。示例代码如下:

name = "testerzhang"

print(f'Hello {name}.')

print(f'Hello {name.upper()}.')

d = {'id': 1, 'name': 'testerzhang'}

print(f'User[{d["id"]}]: {d["name"]}')

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值