[フォーマット]


書式設定


Pythonのフォーマット方法は3つあります.
1つ目は%フォーマット、2つ目はformat()関数フォーマットです.
3つ目はpython 3.6に基づいて新しく追加されたf-stringフォーマットです.

書式%


%フォーマット演算子と%フォーマット文字列を使用します.
文字列%s(文字)、%d(整数)、および%f(実数)をフォーマットします.
# 문자 대입
my_formating1 = 'My name is %s' % 'Jae min'
print(my_formating1) # My name is Jae min

# 정수형 숫자 대입
my_formating2 = '%d %d' % (1, 2)
print(my_formating2) # 1 2

# 실수형 숫자 대입
my_formating3 = '%f' % 3.14
print(my_formating3) # 3.14
演算子と文字列の間に数値を追加することもできます.
%sの間に数値を挿入すると、挿入した数値が占めるスペースが確保されます.
%dの間に数値を挿入すると、挿入された数値がスペースに埋め込まれます.
# %s 숫자 삽입 - 공간 확보
my_formating4 = 'My name is %5s' % 'Jae min'
print(my_formating4) # My name is Jae min

my_formating5 = 'My name is %10s' % 'Jae min'
print(my_formating5) # My name is    Jae min

# %d 숫자 삽입 - 공간 채우기
my_formating6 = 'Number %05d' % 5
print(my_formating6) # Number 00005

my_formating7 = 'Number %05d' % 400
print(my_formating7) # Number 00400

書式()


{}.format()フォーマットを使用する方法.
変数のタイプに関係なく括弧や数字を使えばOKです.
my_format1 = 'My name is {}'.format('Jae min')
print(my_format1) # My name is Jae min

my_format2 = 'My name is {name}'.format(name='Jae min')
print(my_format2) # My name is Jae min

my_format3 = '{} x {} = {}'.format(2, 3, 2*3)
print(my_format3) # 2 x 3 = 6

my_format4 = '{1} x {0} = {2}'.format(2, 3, 2*3) # format 순서 지정
print(my_format4) # 3 x 2 = 6
%のフォーマットと同様に、スペースと塗りつぶしスペースを解放することもできます.
my_format5 = 'Number "{0:>5d}"'.format(300)
print(my_format5) # Number "  300"

my_format6 = 'Number "{0:<5d}"'.format(300)
print(my_format6) # Number "300  "

my_format7 = 'Number "{0:>05d}"'.format(300)
print(my_format7) # Number "00300"

my_format8 = 'Number "{0:<05d}"'.format(300)
print(my_format8) # Number "30000"

f-stringのフォーマット


文字列の前にfを追加し、{}に変数名を入力してフォーマットします.
また、内部関数を呼び出すことも、バイナリフォーマットを使用することもできます.
name = 'Jae min'
my_format8 = f'My name is {name}'
print(my_format8) # My name is Jae min

name = 'Jae min'
my_format9 = f'My name is {name.upper()}'
print(my_format9) # My name is JAE MIN

dictionary = {'name' : 'Jae min'}
my_format10 = f'My name is {dictionary["name"]}'
print(my_format10) # My name is Jae min
ソース
1. Python formatを完全にクリーンアップ
2. Formattingの様々な方法をまとめます
3. 文字列の書式設定方法