python string literal vs format code example
Example 1: python fstring
#python3.6 is required
age = 12
name = "Simon"
print(f"Hi! My name is {name} and I am {age} years old")
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%