문자열 포맷
우리는 이 글의 전까지 문자열을 여러개 합쳐서 출력할 때 + 혹은 , 를 이용하였습니다.
print("ab" + "cd") # 출력 : abcd
print("ab", "cd") # 출력 : ab cd
이 두 방법 외에도 다양한 포맷으로 문자열을 출력하는 방법이 존재합니다. 이 글에서는 4가지의 방법을 알려드릴 것이며 그 중 자신이 편한 방법과 상황에 따라 맞는 방법으로 사용하시면 좋을것 같습니다.
방법 1
% 를 사용하는 방법이 존재합니다. 따옴표로 둘러싸인 문자열 중간에 자신이 문자열을 삽입하고 싶은 자리에 %d, %s, %c 등을 넣어두고 문자열이 끝난 후 %를 적어준 다음 조건에 맞는 값을 적는다면 %d, %s, %c 위치에 값이 들어가게 됩니다.
1) print("문자열 %d 문자열" % 정수) %d는 정수(decimal)을 의미하여 정수의 값을 받습니다.
2) print("문자열 %s 문자열" % 문자열) %c는 문자(character)를 의미하며 단 한글자를 받습니다.
3) print("문자열 %c 문자열" % 문자) %s는 문자열(string)을 의미하며 문장을 받습니다.
단, %s를 사용 시 정수, 문자, 문자열 상관 없이 모든 값을 받을 수 있습니다.
# 방법 1
print("나는 %d살입니다." % 20) # 출력 : 나는 20살입니다.
print("나는 %s을 좋아해요." % "파이썬") # 나는 파이썬을 좋아해요.
print("Apple은 %c로 시작해요." % "A") # Apple은 A로 시작해요
print("나는 %s살입니다." % 20) # 나는 20살입니다.
만약에 문자열 내에 2개 이상의 값을 넣어주고 싶다면 사용하고 싶은 만큼의 %d, %s, %c 등을 넣어주고 % 뒤의 값들을 괄호로 감싸고 콤마로 구분해줍니다. 그러면 순서대로 문자열 내의 % 위치에 값이 들어가게 됩니다.
print("나는 %s색과 %s색을 좋아해요." % ("파란", "빨간")) # 나는 파란색과 빨간색을 좋아해요.
방법 2
.format()을 사용하는 방법이 있습니다. 문자열 내에 중괄호{ }를 집어 넣고 뒤에서 .format(값1, 값2, 값3, ...)을 입력하면 이 값들이 문자열 내의 중괄호 부분에 순서대로 들어가게 됩니다.
만약 순서를 바꿔주고 싶다면 {0}, {1}과 같이 인덱스 값을 의미하는 숫자를 넣어준다면 0 위치에는 값1, {1}위치에는 값2 이런 식으로 들어가게 됩니다.
# 방법 2
print("나는 {}살입니다.".format(20)) # 나는 20살입니다.
print("나는 {}색과 {}색을 좋아해요.".format("파란", "빨간")) # 나는 파란색과 빨간색을 좋아해요.
print("나는 {1}색과 {0}색을 좋아해요.".format("파란", "빨간")) # 나는 빨간색과 파란색을 좋아해요.
방법 3
.format을 사용하지만 이름을 사용하는 방법이 있습니다. 문자열 내에 {name}과 같이 넣어두고서 변수를 사용하는 것처럼 .format 내에서 이름과 값을 정의해두면 그 이름에 해당하는 부분에 값이 들어가게 됩니다.
# 방법 3
print("나는 {age}살이며, {color}색을 좋아해요.".format(age=20, color="파란"))
# 나는 20살이며, 파란색을 좋아해요.
print("나는 {age}살이며, {color}색을 좋아해요.".format(color="빨간", age=20))
# 나는 20살이며, 빨간색을 좋아해요.
방법 4
마지막으로 f-string을 활용한 방법이 있습니다. 문자열 앞에 f를 추가해주면 앞에서 선언된 변수 이름을 그대로 사용이 가능합니다.
# 방법 4 (v3.6 이상부터 사용가능)
age = 20
color = "파란"
print(f"나는 {age}살이며, {color}색을 좋아해요.") # 나는 20살이며, 파란색을 좋아해요.
'Language > Python' 카테고리의 다른 글
15. 중간점검 ( 9 ~ 14 ) (0) | 2022.05.17 |
---|---|
14. 기본부터 다지는 파이썬 - 탈출문자 (0) | 2022.05.16 |
12. 기본부터 다지는 파이썬 - 문자열처리함수(2) (0) | 2022.05.12 |
11. 기본부터 다지는 파이썬 - 문자열처리함수(1) (0) | 2022.05.10 |
10. 기본부터 다지는 파이썬 - 슬라이싱 (0) | 2022.05.09 |