오늘은 문자열 포맷에 대해서 공부를 한다.
문자열 포맷
문자를 표기하는 기본 방법은 아래의 코드와 같다.
#기존 표기 방법
print("a" + "b")
>>
ab
print("a" , "b")
>>
a b
이와같이 다른 문자열을 +나 , 를 사용하여 합친 문자열을 사용했지만
이와 비슷한 문자열 포맷들이 존재한다.
비슷한 문자열 포맷을 사용하여 4가지 표기방법을 알아보자.
방법 1
문자열의 숫자와 문자열, 하나의 문자를 표현하는 방법으로
%d, %c, %s을 사용하여 코드를 작성해보자.
print("나는 %d살입니다." % 20) # d = 정수값만
>>
나는 20살입니다.
print("나는 %s을 좋아합니다." % "파이썬") # s = 문자열(스트링) 값만
>>
나는 파이썬을 좋아합니다.
print("Apple은 %c 로 시작해요." % "A") # c = 하나의 문자값만
>>
Apple은 A 로 시작해요.
# %s의 특징 -> 정수, 문자열, 하나의 문자 값 포함 모든 값
print("나는 %s살입니다." % 20) # s = 정수, 문자열, 하나의 문자 값 포함 모든 값
>>
나는 20살입니다.
print("나는 %s색과 %s색을 좋아해요." % ("파란", "빨강"))
>>
나는 파란색과 빨강색을 좋아해요.
이와같이 %d, %c, %s 를 사용하여
숫자와, 문자, 문자열의 코드대로 출력되는 걸 확인할 수 있다.
방법 2
이외의 방법으로는 {}와 format을 사용하는 문자열 포맷 방법이다.
바로 코드로 확인해보자.
print("나는 {}살입니다.".format(20)) # format의 입력 값을 출력
>>
나는 20살입니다.
print("나는 {}색과 {}색을 좋아해요.".format("파란", "빨강")) # 연속적으로 입력한 format 값 출력
>>
나는 파란색과 빨강색을 좋아해요.
print("나는 {0}색과 {1}색을 좋아해요.".format("파란", "빨강")) # 번호를 선언한 순번에 맞게 값 출력
>>
나는 파란색과 빨강색을 좋아해요.
print("나는 {1}색과 {0}색을 좋아해요.".format("파란", "빨강"))
>>
나는 빨강색과 파란색을 좋아해요.
이처럼 {}와 .format + (값) 을 이용한 문자열 포맷으로 숫자와 문자열의 출력을 확인할 수 있다.
여기서 중요한 점은 문자열 사용시 입력한 값의 순서 값을 {} 안에 순서 값을 입력하여 선택한 순서의 문자열을 표현할 수 있다는 특성을 가진다. EX)주소값
방법 3
또 다른 방법으로는 {}와 변수 선언을 이용한 문자열 포맷을 코드로 확인해보자
print("나는 {age}살이며, {color}색을 좋아해요".format(age = 20, color = "빨강")) # 선언한 변수의 값을 출력
>>
나는 20살이며, 빨강색을 좋아해요
print("나는 {color}살이며, {age}색을 좋아해요".format(age = 20, color = "빨강"))
>>
나는 20살이며, 빨강색을 좋아해요
방법 2와 비슷한 방법으로 {} + format의 문자열 포맷에서 변수를 추가하여 사용하는 방법이 있다.
위에서 선언한 주소값을 이용한 방법과 매우 유사해 보인다.
뒤의 변수값의 순서를 변경해도 괄호 안에 변수 값을 입력하므로 해당 값을 출력하는덴 문제 없이 출력되는것 또한 확인할 수 있다.
방법 4 (v3.6 이상~)
방법 3의 방법을 활용하여 변수를 먼저 선언한 후 괄호 안에 값을 입력하는 문자열 포맷을 확인해 보자.
age = 20
color = "빨강"
print(f"나는 {age}살이며, {color}색을 좋아해요".format(age = 20, color = "빨강"))
위의 방식처럼 변수 값을 선언 후 출력문 print에서 f를 입력 후 동일한 방식으로 출력문 작성시 동일한 방법으로 출력됨을 확인할 수 있다.
공부하면 공부할수록 다양한 방법으로 같은 값을 출력할 수 있는 코드가 늘어나는 것 같다.
무기와 같이 다양한 방법을 알아두고 체화시켜서 개발을 할때에 참고해서 사용할 수 있도록 꾸준히 공부하도록 해야겠다.