f-string 句法详解

f-string 是 formatted string literals 的简写,中文译为格式化字符串文字。

f-string 的作用类似 % 操作符和 format() 函数。

f-string 的用法很多,如下所示。

  1. 格式标准

  2. 按指定长度 居中对齐 表示字符:

    >>> f"{'Digitser': ^16}"
    '    Digitser    '
    >>> f"{'Digitser': ^15}"
    '   Digitser    '
    						

    根据 科学表示法 输出结果:

    >>> print(f"{1234567890:,}")
    1,234,567,890
    >>> print(f"{1234567890: ,}") # 在数值前添加空格
     1,234,567,890
    						

    按指定字符 填充左侧 输出结果:

    >>> print(f"{123: 010}")
    0000000123
    >>> print(f"{123: 10}")
           123
    						

    按指定 小数位数 截取输出结果:

    >>> print(f"{123:.3f}")
    123.000
    >>> print(f"{123: .3f}") # 在数值前添加空格
     123.000
     
    >>> print(f"{123.123456789:.3f}")
    123.123
    >>> print(f"{123.123456789: .3f}") # 在数值前添加空格
     123.123
     
    >>> print(f"number = {123.123456789:.3f}")
    number = 123.123
    >>> print(f"number ={123.123456789: .3f}") # 在数值前添加空格
    number = 123.123
    						

    按指定 小数位数 在值后 添加 0 输出结果:

    >>> print(f"number = {123.123:.5f}")
    number = 123.12300
    >>> print(f"number ={123.123: .5f}") # 在数值前添加空格
    number = 123.12300
    						
  3. 日期时间

  4. 按指定形式表示 日期时间

    >>> from datetime import datetime
     
    >>> date_time = datetime.now()
     
    >>> print(f"{date_time:%Y-%m-%d %H:%M:%S}")
    2022-07-29 09:20:13
    						
  5. Lambda

  6. 右对齐 Lambda 表达式结果:

    >>> f"{(lambda x: x **3)(5): >7}"
    '    125'
    						
  7. 字符对齐

  8. 字符右对齐:

    >>> f"{125: >7}"
    '    125'
    						

    字符左对齐:

    >>> f"{125: <7}"
    '125    '
    						

    字符居中对齐:

    >>> f"{125: ^7}"
    '  125  '
    >>> f"{125: ^6}"
    ' 125  '
    						
  9. 注意事项

  10. f-string 语句花括号内不能直接包含 \\ (反斜杠转义) 及 \n \r \t 字符 (花括号外可以),但可包括 / 正斜杠,单双引号,一般操作运算。

    以下异常提示 f-string 语句中的表达式,不可以包括反斜杠:

    SyntaxError: f-string expression part cannot include a backslash
    						

    在 Windows,使用 f-string 语句调用 CMD 命令,有时可能无法运行。

    另请参阅:

    % 操作符

    格式字符串语法

    格式化字符串文字

    版权声明: 本文为独家原创稿件,版权归 Logiciel Numérique Heureux ,未经许可不得转载。