Example 1: f string in python
# f-strings are short for formatted string like the following
# you can use the formatted string by two diffrent ways
# 1
name = "John Smith"
print(f"Hello, {name}") # output = Hello, John Smith
# 2
name = "John Smith"
print("Hello, {}".format(name)) # output = Hello, John Smith
Example 2: python f string
>>> name = "Eric"
>>> age = 74
>>> f"Hello, {name}. You are {age}."
'Hello, Eric. You are 74.'
Example 3: 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 4: new python string formatting
>>> f'Hello, {name}!'
'Hello, Bob!'
Example 5: python f string
# f-strings help in string concatenation
name = 'Psych4_3.8.3'
age = 23
job = 'programmer'
#USING OLD METHOD
print("I am %s a %t of age %u", %(name, job, age))
# USING F-STRING
print(f"I am {name} a {job} of age {age}")
# here you can even see whcih value is inserted in which place....
# the f means that it is an f string. DONT FORGET IT!!
Example 6: 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%