7.1.1. 格式化字符串文字

格式化字符串字面值 (常简称为 f-字符串)能让你在字符串前加上 fF 并将表达式写成 {expression} 来在字符串中包含 Python 表达式的值。

可选的格式说明符可以跟在表达式后面。这样可以更好地控制值的格式化方式。以下示例将pi舍入到小数点后三位:

  1. >>> import math
  2. >>> print(f'The value of pi is approximately {math.pi:.3f}.')
  3. The value of pi is approximately 3.142.

':' 后传递一个整数可以让该字段成为最小字符宽度。这在使列对齐时很有用。:

  1. >>> table = {'Sjoerd': 4127, 'Jack': 4098, 'Dcab': 7678}
  2. >>> for name, phone in table.items():
  3. ... print(f'{name:10} ==> {phone:10d}')
  4. ...
  5. Sjoerd ==> 4127
  6. Jack ==> 4098
  7. Dcab ==> 7678

其他的修饰符可用于在格式化之前转化值。 '!a' 应用 ascii()'!s' 应用 str(),还有 '!r' 应用 repr():

  1. >>> animals = 'eels'
  2. >>> print(f'My hovercraft is full of {animals}.')
  3. My hovercraft is full of eels.
  4. >>> print(f'My hovercraft is full of {animals!r}.')
  5. My hovercraft is full of 'eels'.

有关这些格式规范的参考,请参阅参考指南 格式规格迷你语言