花括号{}中的符号在Python字符串格式化中的应用

我们知道,在Python中,格式化字符串的方法有三种,分别是%s法,str.format()法以及f_string法。其中后两种方法在指定字符串格式方面较为直观,且兼容性强,成为目前官方推荐的主流方法。由于它们都运用了花括号,本文主要总结花括号中的一些符号在字符串格式化中的应用。

1、冒号(:)

引入格式说明符。在{}中需要使用符号时,要先通过冒号引入

2、类型转换

放在冒号后面指定类型

  • s - 字符串
  • d 或 i - 十进制整数
  • f - 浮点数
  • e 或 E - 指数表示法
  • g 或 G - 一般格式(自动选择f或e)
  • b - 二进制
  • o - 八进制
  • x - 十六进制(小写)
  • X - 十六进制(大写)
  • % - 百分比格式化 
"{:d}".format(10)      # 输出: '10' (十进制)
"{:x}".format(10)      # 输出: 'a' (十六进制)
"{:e}".format(10000)   # 输出: '1.000000e+04' (指数表示)
"{:.1%}".format(0.14)  # 输出 '14.0%'

3、格式规范符号之——宽度和精度(.)

  • 宽度:指定整个字段的最小宽度,在点(.)的前面。

例如:

#在字符串右侧填充空格,以确保整个字符串的显示宽度达到10个字符
"{:10}".format("Hello")         #输出:'Hello     '

# 数值右对齐,总宽度5,不足前面补空格      # 输出: '  123'
"{:5d}".format(123)    

可以看到字符串默认左对齐,而数值默认右对齐

  • 精度:对于浮点数,指定小数点后的位数;对于字符串,指定截取的字符数。
"{:.3f}".format(3.14159) # 输出: '3.142',保留三位小数

"{:.2}".format("Hello")   # 输出: 'He',截取前两个字符

4、格式规范符号之——对齐(< ^ >),结合宽度和可选的填充字符使用

  • 左对齐:
"{:<10}".format("Hello")  # 左对齐,总宽度10,不足右边补空格
# 输出: 'Hello     '
"{:*<10}".format("Hello")  # 左对齐,总宽度10,不足右边补星号*
# 输出: 'Hello*****'
  • 右对齐
"{:>10}".format("Hello")  # 右对齐,总宽度10,不足左边补空格
# 输出: '     Hello'
"{:0>10}".format(42)     # 右对齐,总宽度10,不足左边补0,适用于数值
# 输出: '0000000042'
"{:0>10.2f}".format(3.14159)  # 右对齐,总宽度10,小数点后两位,不足左边补0
# 输出: '0000003.14'
  • 居中对齐
"{:^10}".format("Hello")  # 居中对齐,总宽度10,不足两边补空格
# 输出: '  Hello   '
"{:=^10}".format("Hi")    # 居中对齐,总宽度10,不足两边补等号=
# 输出: '====Hi===='

5、逗号(,),分隔数字的千位分隔符

"{:,}".format(1234567890) # 输出: '1,234,567,890'

6、格式化字节和位操作(b   c)

  • b - 二进制表示,如 
"{:b}".format(10)    # 输出 '1010'
  • c - 字符表示,如
"{:c}".format(97)     # 输出 'a'(ASCII码97对应小写字母'a')

还有其他高级应用,如

  • 使用 [index] 或 [start:end] 来访问元组、列表或字符串的特定元素或切片。
  • "{name} is {age} years old".format(**{'name': 'Alice', 'age': 30})
    # 输出  'Alice is 30 years old'

  • 8
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Python字符串格式化有两种方法:使用符号操作符%和使用format格式。 使用符号操作符%是一种传统的字符串格式化方法。它使用%作为占位符,然后通过一个或多个变量来填充这些占位符。示例如下: ```python name = "Alice" age = 25 print("My name is %s and I am %d years old." % (name, age)) ``` 这里,%s表示字符串占位符,%d表示整数占位符。在字符串末尾的%后面,以元组的形式传递了两个变量name和age。 另一种格式化字符串的方法是使用format函数。这种方法使用括号{}来表示占位符,并使用format函数来填充这些占位符。示例如下: ```python name = "Bob" age = 30 print("My name is {} and I am {} years old.".format(name, age)) ``` 这里,{}表示占位符。在format函数依次传入了name和age变量。 这两种方法在功能上是相似的,但使用的语法不同。使用符号操作符%可以更灵活地控制格式化的输出,而使用format函数可以提供更多的格式化选项,例如指定输出的宽度、精度和对齐方式。 需要注意的是,从Python 3.6开始,还引入了一种新的字符串格式化语法,称为f-string。它以f开头,使用括号{}来表示占位符,并在其通过变量名直接引用变量的值。示例如下: ```python name = "Charlie" age = 35 print(f"My name is {name} and I am {age} years old.") ``` 这种方法在语法上更简洁,同时仍然提供了丰富的格式化选项。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南瓜鹅鹅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值