美文网首页
Python f-strings 格式化

Python f-strings 格式化

作者: Aiden_Xi | 来源:发表于2018-11-23 18:35 被阅读15次

    在python3.6之后引入了 f-strings在以后格式化输出的时候可以使用 如下一些方法达到使用format 或是 % 实现的功能:

    和format用法比:

    1. 通过位置
    
    data = ['data1', 'data2']
    
    # format
    
    print("data1: {0}, data2: {1}".format(*data))
    
    # f-strings
    
    print(f"data1: {data[0]}, data2: {data[1]}")
    
    
    1. 通过关键字
    personal = {"name": "Json", "age": 12, "sex": "M"}
    # format
    print("Name: {name}, age: {age}, sex: {sex}".format(**personal))
    # f-strings
    print(f"Name: {personal['name']}, age: {personal['age']}, sex: {personal['sex']}")
    
    1. 数据精度和类型
    num = 23234.76686566
    # 保留两位小数
    print(f"{num:.2f}")
    # 保留两位小数,十个占位符,不足的使用0补充
    prinf(f"{num:010.2f}")
    
    1. 填充和对齐经常是一起使用的
      ^、<、>分别是居中、左对齐、右对齐,后面带宽度
      :号后面带填充的字符,只能是一个字符,不指定的话默认是用空格填充(一般不指定)。
    personal = {"name": "Json", "age": 12, "sex": "M"}
    # format
    print("Name: {name:>5}, age: {age:>5}, sex: {sex:>5}".format(**personal))
    # f-strings
    print(f"Name: {personal['name']:^10}, age: {personal['age']:^10}, sex: {personal['sex']:^10}")
    
    1. 使用 !r可以给字符串添加引号
    a = "abc"
    b = "hjk"
    # format
    c = "{!r} -- {!r}".format(a, b)
    ===> "'abc' -- 'hjk'"
    # f-string
    c = f"{a!r} -- {b!r}"
    ===> "'abc' -- 'hjk'"
    

    相关文章

      网友评论

          本文标题:Python f-strings 格式化

          本文链接:https://www.haomeiwen.com/subject/nocsqqtx.html