python format用法祥解

Python 的 format 方法是一种字符串格式化操作,它提供了一种灵活的方式来创建字符串,这些字符串可以包含变量或值。以下是 format 方法的一些主要用法:

  1. 基本用法
    使用花括号 {} 作为占位符,然后调用 format 方法,传入相应的参数值。

    print("这是一个{}和{}".format("苹果", "香蕉"))
    
  2. 指定索引
    可以在花括号中指定参数的索引,从0开始计数。

    print("这是一个{0}和{1}".format("苹果", "香蕉"))
    
  3. 指定关键字参数
    可以在 format 方法中使用关键字参数。

    print("这是一个{fruit1}和{fruit2}".format(fruit1="苹果", fruit2="香蕉"))
    
  4. 对齐和宽度
    可以指定宽度和对齐方式,使用冒号 : 进行分隔。

    print("{:<10}".format("苹果"))  # 左对齐
    print("{:>10}".format("苹果"))  # 右对齐
    print("{:^10}".format("苹果"))  # 居中对齐
    
  5. 填充字符
    可以指定填充字符。

    print("{:-<10}".format("苹果"))  # 左对齐,使用'-'作为填充
    
  6. 数字格式化
    可以对数字进行格式化,例如设置小数点的位数。

    print("{:.2f}".format(3.1415926))  # 保留两位小数
    
  7. 类型指定
    可以在花括号中指定类型,如 d 表示整数,f 表示浮点数。

    print("{:d}".format(10.5))  # 将浮点数转换为整数
    
  8. 使用字典进行格式化
    可以将字典传递给 format 方法,使用字典键作为占位符。

    data = {'fruit1': "苹果", 'fruit2': "香蕉"}
    print("这是一个{fruit1}和{fruit2}".format(**data))
    
  9. 使用列表或元组进行格式化
    可以将列表或元组传递给 format 方法,使用索引作为占位符。

    fruits = ("苹果", "香蕉")
    print("这是一个{0}和{1}".format(*fruits))
    
  10. 嵌套格式化
    可以在 format 方法中嵌套使用。

    print("这是一个{0}和{1[1]}".format("苹果", ["橘子", "香蕉"]))
    
  11. 格式化字符串字面量
    在 Python 3.6 及以上版本中,可以使用 f-string,这是一种更简洁的格式化字符串的方式。

    name = "Kimi"
    age = 5
    print(f"{name} is {age} years old.")
    

format 方法提供了非常强大的字符串格式化功能,可以满足各种复杂的格式化需求。上述只是一些基本用法,实际上 format 方法还有更多的选项和高级用法。

format 方法的高级用法包括一些特殊的格式化选项,这些选项可以提供更多的控制,以适应不同的格式化需求。以下是一些高级用法:

  1. 精度控制
    对于浮点数,可以使用 . 后跟数字来指定小数点后的位数。

    print("{:.2f}".format(3.1415926))  # 输出: 3.14
    
  2. 千位分隔符
    对于大数字,可以使用逗号作为千位分隔符。

    print("{:,}".format(123456789))  # 输出: 123,456,789
    
  3. 科学计数法
    使用 eE 来指定科学计数法的格式。

    print("{:e}".format(3.1415926))  # 输出: 3.141593e+00
    print("{:E}".format(3.1415926))  # 输出: 3.141593E+00
    
  4. 填充和对齐组合使用
    可以组合使用填充字符、对齐方式和宽度。

    print("{:=>15}".format("苹果"))  # 右对齐,使用'='填充,总宽度为15
    
  5. 符号位置控制
    对于数字,可以使用 +- 来控制符号的位置。

    print("{:+f}".format(3.14))  # 输出: +3.140000
    print("{:-f}".format(-3.14))  # 输出: -3.140000
    
  6. 零填充
    使用 0 作为填充字符,可以实现数字的零填充。

    print("{:0>5}".format(4))  # 输出: 00004
    
  7. 百分比格式化
    使用 % 来格式化为百分比形式。

    print("{:.2%}".format(0.25))  # 输出: 25.00%
    
  8. 大小写转换
    对于某些类型,如数字,可以使用 , 来控制数字的大小写。

    print("{:,.2f}".format(1234567890.123))  # 输出: 1,234,567,890.12
    
  9. 自定义格式化
    Python 允许定义自己的格式化函数,该函数将被调用来格式化对象。

    class MyObject:
        def __str__(self):
            return "自定义对象"
    
    def custom_format(obj):
        return str(obj).upper()
    
    my_obj = MyObject()
    print("{:<10}".format(my_obj, custom_format))
    
  10. 使用 str.format_map()
    当使用字典进行格式化时,可以使用 format_map() 方法,该方法允许字典中的值是另一个字典,用于进一步的格式化。

    outer_dict = {'inner': {'fruit1': "苹果", 'fruit2': "香蕉"}}
    print("这是一个{inner: {fruit1}}和{inner: {fruit2}}".format_map(outer_dict))
    
  11. 格式化嵌套结构
    可以对列表、元组或字典等嵌套结构进行格式化。

    data = {'fruits': ["苹果", "香蕉", "橙子"]}
    print("这里有{fruits[1]}".format(**data))
    
  12. 格式化多维数组
    可以对多维数组进行格式化,指定索引来访问特定的元素。

    matrix = [[1, 2, 3], [4, 5, 6]]
    print("矩阵中(1,1)位置的元素是{0[1][1]}".format(matrix))
    

这些高级用法提供了对字符串格式化的精细控制,使得 format 方法能够适应各种复杂的格式化场景。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值