9、Python字符串格式化

在 Python 中,字符串格式化是一种常见且重要的操作,用于将变量或值插入到字符串中,并控制输出的格式。

方案一:使用 % 操作符格式化字符串

使用 % 操作符是一种传统的字符串格式化方法,可以通过将变量插入到字符串中来创建格式化的字符串。格式符为真实值预留位置,并控制显示的格式。格式符可以包含有一个类型码,用以控制显示的类型,如下:

符 号

描述

%c

单个字符,格式化字符及其ASCII码

%s

字符串 (采用str()的显示)

%r

字符串 (采用repr()的显示)

%d

格式化整数

%u

格式化无符号整型

%o

格式化无符号八进制数

%x

格式化无符号十六进制数

%X

格式化无符号十六进制数(大写)

%f

格式化浮点数字,可指定小数点后的精度

%F

浮点数,与上相同

%e

用科学计数法格式化浮点数

%E

作用同%e,用科学计数法格式化浮点数

%g

%f和%e的简写

%G

%F 和 %E 的简写

%p

用十六进制数格式化变量的地址

%%

字符"%",显示百分号%

虽然 %s 占位符很万能,但建议根据填充数据的格式使用对应的占位符。

name1 = "lilei"
name2 = "hanmeimei"
print("hello %s, I'm %s" % (name1, name2))
# hello lilei, I'm hanmeimei

方案二:使用 str.format() 方法

str.format() 函数也是在字符串中设置占位符,然后通过 format() 函数的参数按顺序与占位符对应。str.format() 使用 {} 作为占位符:

name = "lilei"
age = 25
print("Hello, {}! You are {} years old.".format(name, age))
# Hello, lilei! You are 25 years old.

如果 str.format() 函数仅仅只有这个功能,那么它就没有存在的必要,可以使用 % 符号格式化。str.format() 的 {} 占位符可以命名,适用于多个占位符的场景:

name = "lilei"
name2 = 'hanmeimei'
print("hello {n1}, I'm {n2}".format(n2=name2, n1=name))
# hello lilei, I'm hanmeimei

当然,无论是哪种占位符,所有占位符都必须全部填充,否则会报错

方案三:使用 f-strings(格式化字符串字面值),推荐使用

自从 Python 3.6 版本开始,引入了 f-strings,它是一种直观且易用的字符串格式化方法,可以在字符串前加上 f 或 F 来创建格式化字符串。

name = "lilei"
age = 25
print(f"Hello, {name}! You are {age} years old.")
# Hello, lilei! You are 25 years old.

pi = 3.1415926
print(f"Value of pi: {pi:.2f}")
# Value of pi: 3.14

在上面的示例中,通过在字符串前加上 f,可以直接在 {}中使用变量,使得字符串的格式化更加清晰和简洁;除了简单的插入变量外,字符串格式化还支持更多的格式化控制,:.2f 指定了浮点数 pi 的格式,保留小数点后两位。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值