Python 中 str.format() 的用法(带更新

1.用法说明

  1. str.format() 方法通过字符串中的花括号 {} 来识别替换字段 replacement field,从而完成字符串的格式化。
  2. 替换字段 由字段名 field name 和转换字段 conversion field 以及格式说明符 format specifier 组成,即一般形式为 {字段名!转换字段:格式说明符}。
  3. 字段名分为简单字段名 simple field name 和复合字段名 compound field name。
  4. 而转换字段和格式说明符都是可选的。

1.1简单字段名的说明

简单字段名有三种写法:

  1. 省略不写 {}
  2. 数字 {十进制非负整数}
  3. 变量名 {合法的Python标识符}

1.2省略字段名

花括号内省略字段名,传递位置参数

  1. 替换字段形式:{}
  2. 注意花括号的个数可以少于位置参数的的个数,反之不然;

```python
# 省略字段名传递位置参数
print('我叫{},今年{}岁。'.format('小明', 18))
"""
我叫小明,今年18岁。
"""

# 花括号个数可以少于位置参数的个数
print('我爱吃{}和{}。'.format('香蕉', '苹果', '大鸭梨'))
"""
我爱吃香蕉和苹果。
"""

# 花括号个数多于位置参数的个数则会报错
# print('我还吃{}和{}。'.format('西红柿'))
"""
IndexError: tuple index out of range
"""

1.3 数字形式的简单字段名

可以通过数字形式的简单字段名传递位置参数

  1. 数组必须大于等于0的整数
  2. 带数字的替换字段可以重复使用。
  3. 数字形式的简单字段名相当于把format中的所有位置参数整体当作一个元组,通过字段名中的数字进行取值。
  4. 即{0}等价于tuple[0], 所以花括号内的数组不能越界。
# 通过数字形式的简单字段名传递位置参数
print('身高{0},家住{1}。'.format(1.8, '铜锣湾'))
"""
身高1.8,家住铜锣湾
"""

# 数字形式的简单字段名可以重复使用。
print('我爱{0}。\n她今年{1}。\n{0}也爱我。'.format('阿香', 17))
"""
我爱阿香。
她今年17。
阿香也爱我。
"""

# 体会把所有位置参数整体当成元组来取值
print('阿香爱吃{1}、{3}和{0}。'.format(
    '榴莲', '臭豆腐', '皮蛋', '鲱鱼罐头', '螺狮粉'))
"""
阿香爱吃臭豆腐、鲱鱼罐头和榴莲。
"""

# 尝试一下越界错误
# print('{1}'.format('错误用法'))
"""
IndexError: tuple index out of range
"""

参考博客:https://blog.csdn.net/jpch89/article/details/84099277

发布了136 篇原创文章 · 获赞 0 · 访问量 2960

猜你喜欢

转载自blog.csdn.net/weixin_42596275/article/details/103485769