• Python-4-设置字符串的格式字符串


    字符串是不可变的,所有元素赋值和切片赋值都是非法的
     
    1.替换字段名
    可以按顺序和名称匹配
    >>> "{foo} {} {bar} {}".format(1, 2, bar=4, foo=3)
    '3 1 4 2'
    也可以按索引匹配
    >>> "{foo} {1} {bar} {0}".format(1, 2, bar=4, foo=3)
    '3 2 4 1'
    还可以这样访问模块中的东西
    >>> fullname = ["Alfred", "Smoketoomuch"]
    >>> "Mr {name[1]}".format(name=fullname)
    'Mr Smoketoomuch'
    >>> import math
    >>> tmpl = "The {mod.__name__} module defines the value {mod.pi} for π"
    >>> tmpl.format(mod=math)
    'The math module defines the value 3.141592653589793 for π'
     
    2.基本转换
    可以提供一个转换标志,转换成不同格式:
    >>> print("{pi!s} {pi!r} {pi!a}".format(pi="π"))
    π 'π' 'u03c0'
    上述三个标志(s、 r和a)指定分别使用str、 repr和ascii进行转换
    str通常创建外观普通的字符串版本
    repr尝试创建给定值的Python表示
     
    这样冒号标志可以转换类型:
    >>> "The number is {num}".format(num=42)
    'The number is 42'
    >>> "The number is {num:f}".format(num=42)
    'The number is 42.000000'
     
    b 将整数表示为二进制数
    c 将整数解读为Unicode码点
    d 将整数视为十进制数进行处理,这是整数默认使用的说明符
    e 使用科学表示法来表示小数(用e来表示指数)
    E 与e相同,但使用E来表示指数
    f 将小数表示为定点数
    F 与f相同,但对于特殊值(nan和inf),使用大写表示
    g 自动在定点表示法和科学表示法之间做出选择。这是默认用于小数的说明符,但在默认情况下至少有1位小数
    G 与g相同,但使用大写来表示指数和特殊值
    n 与g相同,但插入随区域而异的数字分隔符
    o 将整数表示为八进制数
    s 保持字符串的格式不变,这是默认用于字符串的说明符
    x 将整数表示为十六进制数并使用小写字母
    X 与x相同,但使用大写字母
    % 将数表示为百分比值(乘以100,按说明符f设置格式,再在后面加上%)
     
    3.宽度,精度和千位分隔符
    默认在小数点后面显示6位小数
    宽度
    >>> "{num:10}".format(num=3)
    ' 3'
    >>> "{name:10}".format(name="Bob")
    'Bob '
    精度
    >>> "Pi day is {pi:.2f}".format(pi=pi)
    'Pi day is 3.14'
    宽度+精度
    >>> "{pi:10.2f}".format(pi=pi)
    ' 3.14
    >>> "{:.5}".format("Guido van Rossum")
    'Guido'
    千位分隔符
    >>> 'One googol is {:,}'.format(10**100)
    'One googol is 10,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,00
    0,000,000,000,000,000,000,000,000,000,000,000,000,000,000'
     
    4.符号,对齐和用0填充
    在指定宽
    度和精度的数前面,可添加一个标志。这个标志可以是零、加号、减号或空格,其中零表示使用0来填充数字。
    >>> '{:010.2f}'.format(pi)
    '0000003.14'
    要指定左对齐、右对齐和居中,可分别使用<、 >和^
    >>> print('{0:<10.2f} {0:^10.2f} {0:>10.2f}'.format(pi))
    3.14
          3.14
               3.14
    填充对齐
    >>> "{:$^15}".format(" WIN BIG ")
    '$$$ WIN BIG $$$'
    =指定将填充字符放在符号和数字之间
    >>> print('{0:10.2f} {1:10.2f}'.format(pi, -pi))
            3.14
           -3.14
    >>> print('{0:10.2f} {1:=10.2f}'.format(pi, -pi))
            3.14
    -       3.14
    #号, 可将其放在符号说明符和宽度之间
    对于二进制、八进制和十六进制转换,将加上一个前缀
    >>> "{:b}".format(42)
    '101010'
    >>> "{:#b}".format(42)
    '0b101010'
    对于各种十进制数,它要求必须包含小数点(对于类型g,它保留小数点后面的零)。
    >>> "{:g}".format(42)
    '42'
    >>> "{:#g}".format(42)
    '42.0000'
     
     
     
     
  • 相关阅读:
    【视频+图文】带你快速掌握Java中含continue语句的双重for循环
    【小白视频学Java for循环】3分钟学会Java的for循环,让看懂for循环嵌套再不是难事
    【机器学习基础】交叉熵(cross entropy)损失函数是凸函数吗?
    【tf.keras】tensorflow datasets,tfds
    【python3基础】命令行参数及 argparse
    【机器学习实战】验证集效果比测试集好怎么办?
    [主动学习--查询策略] 01 Core-set
    Monte-Carlo Dropout,蒙特卡罗 dropout
    NumPy 会自动检测并利用 GPU 吗?
    Linux 和 Windows 查看 CUDA 和 cuDNN 版本
  • 原文地址:https://www.cnblogs.com/swefii/p/10771109.html
Copyright © 2020-2023  润新知