realpython.com f-string code example

Example 1: python f-strings

>>> name = "Fred"
>>> f"He said his name is {name!r}."
"He said his name is 'Fred'."
>>> f"He said his name is {repr(name)}."  # repr() is equivalent to !r
"He said his name is 'Fred'."
>>> width = 10
>>> precision = 4
>>> value = decimal.Decimal("12.34567")
>>> f"result: {value:{width}.{precision}}"  # nested fields
'result:      12.35'
>>> today = datetime(year=2017, month=1, day=27)
>>> f"{today:%B %d, %Y}"  # using date format specifier
'January 27, 2017'
>>> f"{today=:%B %d, %Y}" # using date format specifier and debugging
'today=January 27, 2017'
>>> number = 1024
>>> f"{number:#0x}"  # using integer format specifier
'0x400'
>>> foo = "bar"
>>> f"{ foo = }" # preserves whitespace
" foo = 'bar'"
>>> line = "The mill's closed"
>>> f"{line = }"
'line = "The mill\'s closed"'
>>> f"{line = :20}"
"line = The mill's closed   "
>>> f"{line = !r:20}"
'line = "The mill\'s closed" '

Example 2: python f string

import math

print('[[fill]align]                | f\'{"text":10}\'      | ', f'{"text":10}')        # text
print('[[fill]align]                | f\'{"text":>10}\'     | ', f'{"text":>10}')       #       text
print('[[fill]align]                | f\'{"text":^10}\'     | ', f'{"text":^10}')       #    text
print('[[fill]align]                | f\'{"text":#>10}\'    | ', f'{"text":#>10}')      # ######text
print('[[fill]align]                | f\'{"text":#<10}\'    | ', f'{"text":#<10}')      # text######
print('[[fill]align]                | f\'{"text":#^10}\'    | ', f'{"text":#^10}')      # ###text###
print('[[fill]align] with numbers   | f\'{12345:0=10}\'     | ', f'{12345:0=10}')       # 0000012345
print('[[fill]align] with numbers   | f\'{-12345:0=10}\'    | ', f'{-12345:0=10}')      # -000012345      
print('[[fill]align] with numbers   | f\'{12345:010}\'      | ', f'{12345:010}')        # 0000012345
print('[[fill]align] with numbers   | f\'{-12345:010}\'     | ', f'{-12345:010}')       # -000012345
print('[.precision]                 | f\'{math.pi:.2f}\'    | ', f'{math.pi:.2f}')      # 3.14
print('[grouping_option]            | f\'{1000000:,.2f}\'   | ', f'{1000000:,.2f}')     # 1,000,000.00
print('[grouping_option]            | f\'{1000000:_.2f}\'   | ', f'{1000000:_.2f}')     # 1_000_000.00
print('[sign] (+/-)                 | f\'{12345:+}\'        | ', f'{12345:+}')          # +12345
print('[sign] (+/-)                 | f\'{-12345:+}\'       | ', f'{-12345:+}')         # -12345
print('[sign] (+/-)                 | f\'{12345:+10}\'      | ', f'{12345:+10}')        #     +12345
print('[sign] (+/-)                 | f\'{-12345:+10}\'     | ', f'{-12345:+10}')       #     -12345
print('[sign] (+/-)                 | f\'{12345:+010}\'     | ', f'{12345:+010}')       # +000012345
print('[sign] (+/-)                 | f\'{-12345:+010}\'    | ', f'{-12345:+010}')      # -000012345
print('[b] (binary)                 | f\'{10:b}\'           | ', f'{10:b}')             # 1010
print('[o] (octal)                  | f\'{10:o}\'           | ', f'{10:o}')             # 12
print('[x] (hexadecimal)            | f\'{100:x}\'          | ', f'{100:x}')            # 64
print('[#b] (with notation base)    | f\'{10:#b}\'          | ', f'{10:#b}')            # 0b1010
print('[#0] (with notation base)    | f\'{10:#o}\'          | ', f'{10:#o}')            # 0o12
print('[#x] (with notation base)    | f\'{10:#x}\'          | ', f'{10:#x}')            # 0xa
print('[e] (scientific notation)    | f\'{345600000000:e}\' | ', f'{345600000000:e}')   # 3.456000e+11
print('[c] (character type)         | f\'{65:c}\'           | ', f'{65:c}')             # A
print('percentage (multiply by 100) | f\'{0.25:0%}\'        | ', f'{0.25:0%}')          # 25.000000%
print('percentage (multiply by 100) | f\'{0.25:.0%}\'       | ', f'{0.25:.0%}')         # 25%