f-stringはpython3.6から追加された文字列リテラルです。
文字列の外に最初にfもしくはFをつけるのが特徴です。
値の挿入:
>>> name = 'GAO'
>>> age = 24
>>> f'こんにちは{name}です、{age}才です。'
'こんにちはGAOです、24才です。'
式の挿入:
>>> years_later = 10
>>> f'{years_later}年後は{age + years_later}才です。'
'10年後は34才です。'
関数を呼ぶ:
>>> def one_year_later(current_age):
... return current_age + 1
...
>>> f'来年は{one_year_later(age)}才です。'
'来年は25才です。'
メソッドを呼ぶ:
>>> f'{name}を小文字にすると{name.lower()}です。'
'GAOを小文字にするとgaoです。'
マルチライン:
>>> jikoshoukai = f'こんにちは{name}です、{age}才です。' \
... f'{years_later}年後は{age + years_later}才です。' \
... f'来年は{one_year_later(age)}才です。' \
... f'{name}を小文字にすると{name.lower()}です。'
>>> jikoshoukai
'こんにちはGAOです、24才です。10年後は34才です。来年は25才です。GAOを小文字にするとgaoです。'
ゼロ埋め:
>>> a = 123
>>> f'ゼロ埋め8桁: {a:08}'
'ゼロ埋め: 00000123'
ネスト(ゼロ埋め):
>>> for i in range(4,8):
... f'ゼロ埋め{i}桁: {a:0{i}}'
...
'ゼロ埋め4桁: 0123'
'ゼロ埋め5桁: 00123'
'ゼロ埋め6桁: 000123'
'ゼロ埋め7桁: 0000123'
小数点桁数、有効桁数:
>>> a = 123.456789
>>> f'小数点以下4桁: {a:.4f}'
'小数点以下桁: 123.4568'
>>> f'有効桁4桁: {a:.4g}'
'有効桁: 123.5'