python字符串的格式化

本文详细介绍了Python中两种常用的字符串格式化方法:format()函数和%操作符,并列举了具体的使用示例。此外,还解释了Python中的转义字符及其用途。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、format()

format()方法接收位置参数和关键字参数,二者均传递一个叫做replacement字段,而这个replacement字段在字符串内由大括号({})表示。

位置参数

>>> "{0} is the best {1} in the {2}".format("python","language","world")
'python is the best language in the world'

关键字参数

>>> "{a} is the best {b} in the {c}".format(a="python",b="language",c="world")
'python is the best language in the world'

注意:如果要将位置参数和关键字参数放在一起使用,位置参数必须在关键字参数之前,否则就会报错

>>> "{0} is the best {b} in the {c}".format("python",b="language",c="world")
'python is the best language in the world'
>>> "{a} is the best {0} in the {c}".format(a="python","language",c="world")
SyntaxError: positional argument follows keyword argument

如果要打印大括号({}),只需要用多一层大括号包括起来即可,要打印转义字符(\),只需要使用转义字符本身(\\)

>>> "{{0}}".format("不打印")
'{0}'

位置参数“不打印”没有被输出,这是因为{0}的特殊功能被外层大括号剥夺。


>>> "{0}:{1:.2f}".format("圆周率",3.1415926)
'圆周率:3.14'

在替换域中,冒号表示格式化符号的开始,".2"的意思是四舍五入到保留俩位小数点,而f的意思是浮点数。


二、%

当%的左右均为数字时,那么他表示求余数;但当他出现在字符中的时候,他表示的是格式化操作符。

python的格式化符号及含义
符号含义
%c格式化字符及其ASCII码
%s格式化字符串
%d格式化整数
%o格式化无符号八进制数
%x格式化无符号十六进制数
%X格式化无符号十六进制数(大写)
%f格式化浮点数字,可指定小数点后的精度
%e用科学计数法格式化浮点数
%E作用同%e,用科学计数法格式化浮点数
%g根据值的大小决定使用%f或%e
%G作用同%g,根据值得大小绝世使用%f或%E

示例代码:

>>> '%c' % 97
'a'
>>> '%c%c%c%c' % (108,111,118,101)
'love'
>>> '%d 转为八进制是:%o' % (123,123)
'123 转为八进制是:173'
>>> '%f 用科学计数法表示为:%e' % (147000000,147000000)
'147000000.000000 用科学计数法表示为:1.470000e+08'

Python还提供了格式化操作符的辅助指令

格式化操作符的辅助指令
符号含义
m.nm是显示的最小总宽度,n是小数点后的位数
-结果左对齐
+在正数前面显示加号(+)
#在八进制数前面显示‘0o’,在十六进制数前面显示‘0x64’或者‘0X64’
0显示的数字前面填充‘0’代替空格

示例代码:

>>> '%5.1f' % 25.25295
' 25.3'
>>> '%5.4f' % 257.252
'257.2520'
>>> '%-5.1f' % 7.25
'7.2  '
>>> '%+-5.1f' % 7.25
'+7.2 '
>>> '%-+5.1f' % 7.25
'+7.2 '
>>> '%#o' % 123
'0o173'
>>> '%o' % 123
'173'
>>> '%#x' % 123
'0x7b'
>>> '%x' % 123
'7b'
>>> '%05.1f' % 7.25
'007.2'

三、python的转义字符及含义

转义字符及含义
符号说明符号说明
\'单引号\r回车符
\"双引号\f换页符
\a发出系统响铃声\o八进制数代表的字符
\b退格符\x十六进制数代表的字符
\n换行符\0表示一个空字符
\t横向字表符(TAB)\\反斜杠
\v纵向制表符\ 


### Python 字符串格式化方法 #### % 格式化字符 `%` 操作符用于执行简单的字符串替换和格式设置。它模仿 C 语言中的 printf 风格的字符串格式化[^1]。 ```python name = "Alice" age = 30 formatted_string = "Name: %s, Age: %d" % (name, age) print(formatted_string) # 输出:Name: Alice, Age: 30 ``` #### str.format() 方法 此方法提供更灵活的方式来构建复杂的字符串。可以通过位置参数或命名参数来指定要插入到字符串中的值。 ```python name = "Bob" age = 25 formatted_string = "Name: {}, Age: {}".format(name, age) print(formatted_string) # 输出:Name: Bob, Age: 25 # 使用命名参数 person_info = "Name: {name}, Age: {age}".format(age=27, name="Charlie") print(person_info) # 输出:Name: Charlie, Age: 27 ``` #### F-string(f 函数) F-string 是一种简洁而直观的字符串插值语法,在表达式前面加上字母 `f` 或者 `F` 来创建。这种形式允许直接嵌入变量名或其他表达式于花括号 `{}` 内部,支持不考虑变量类型的快速格式化以及复杂表达式的求值[^2][^3]。 ```python age = 28 name = "David" greeting_message = f"Hello! My name is {name}. I am {age} years old." print(greeting_message) # 输出:Hello! My name is David. I am 28 years old. # 支持表达式计算 result = f"The square of 4 is {4 ** 2}" print(result) # 输出:The square of 4 is 16 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值