[python 3]文字列をフォーマットする方法


python 3の基礎をもう一度聞きます.
少し紛らわしいフォーマット方法を再整理します.

formatメソッドを使用して文字列をフォーマットする

year = 2019
month = 10
day = 29
print("오늘은 " + str(year) + "년 " + str(month) + "월 " + str(day) + "일" + "입니다.")
print("오늘은 {}년 {}월 {}일입니다." .format(year, month, day))

#값을 넣어줄 공간을 중괄호 {}로 채우고,
#첫 번째, 두 번째, 세 번째 중괄호를 포맷팅하는 것

#date_string = "오늘은 {}년 {}월 {}일입니다."
#print(date_string.format(year, month, day))

#이렇게 쓰면 좀 더 간결하게 가능

書式設定方法

print("저는 {1}, {0}, {2}를 좋아합니다!".format("박지성", "유재석", "빌 게이츠"))
#편리하게 순서 바꾸기

num_1 = 1
num_2 = 3
print("{0} 나누기 {1}은(는) {2:.2f}입니다.".format(num_1, num_2, num_1 / num_2))

#근데 여기에서 앞에 두 파라미터를 그냥 중괄호로 비워두면 오류 뜸
#앞 두 파라미터에도 0, 1을 채워줘야 하는듯
#.2f는 실수에서 소수 둘째자리까지 표현하겠다라는 말

文字列をフォーマットする方法


Pythonには文字列をフォーマットする方法がいくつかありますが、もう一度整理してみましょう.

最も古い方法(%記号)

name = "겨울"
age = 10

print("제 이름은 %s이고 %d살입니다." % (name, age))
私の名前は冬、10歳です.
今はあまり使いません...これは以前のやり方です(Aㅎ...教授...彼はいったい...🤦‍♀️)
%sや%dなどの「文字列のフォーマット」を使用します.
CやJavaなど多くの言語では、同様の方法で文字列をフォーマットします.
だからCでscanfを学んだ瞬間からずっと書いてました

現在最も一般的なメソッド(formatメソッド)

name = "겨울"
age = 10

print("제 이름은 {}이고 {}살입니다.".format(name, age))
私の名前は冬、10歳です.
2020年2月現在、
これはPythonコミュニティで最もよく使われる方法です.

新しいメソッド(f-string)

name = "겨울"
age = 10

print(f"제 이름은 {name}이고 {age}살입니다.")
私の名前は冬、10歳です.
Pythonバージョン3.6から登場する新しい方法.
まだ完全に大衆化されていませんが、良い評価を得ています.
すぐにf-stringを使う傾向になります.
確かにf-stringで書くともっと直感的に見えます.