본문 바로가기
파이썬/파이썬 기초

파이썬 문자열 다루기 기초 (줄 바꾸기, 연산자, .format , f-string)

by 큰고양2 2023. 8. 13.

문자열 기본 이해

문자열은 list와 비슷하다

s = '큰고양이'

#이렇게 입력 했을 때

print(s)
#를 하면 큰고양이가 출력되고

print(s[1]) #을 하면 '고'가 출력된다

문자열 줄바꿈 입력하기

문자열에서 줄을 바꾸고 싶다면 바꾸고 싶은 위치에 \n을 삽입한다 

혹은 문자열을 선언할때 ' ' 대신 """  """(큰 따옴표)3개 '''  '''(작은 따옴표 세개) 로 선언하면

그냥 엔터 치면서 입력하면 줄이 바뀐다

 

문자열 내부에 ' 혹은 \ 넣기

문자열에서 ' 나 \ 를 넣고 싶다면 그냥 앞에 \를 하나 붙여주면 된다

'를 출력하려면 \'

\를 출력하려면 \\가 되겠다 

 

문자열의 연산

문자열은 서로 더하면 그대로 값이 이어져 나오고

곱하면 해당 문자열을 곱한 수 만큼 반복한다

사용가능한 연산자는 +와 *이며 이외 다른 연산자를 사용하면 오류가 난다

 

 

.format 매소드를 통한 문자열 포맷팅

문자열을 선언할때 

a = '{}의 {}하루'

처럼 {}를 사용하여 다른 문자가 들어갈 공간을 만들 수 있다

이를 그냥 출력하면 '{}의 {}하루' 가 출력되지만

print(a.format('큰고양이','즐거운'))

해당 문자열 변수.format(들어갈 요소들) 형식으로 입력하면

{}에 요소가 들어가 큰고양이의 즐거운 하루가 출력된다

보고 바로 눈치챘겠지만, 직접 저렇게 값을 입력하지 않아도 값을 가진 변수명을 넣어주면

해당 변수가 출력된다

 

{}은 단순히 비워두는 것이 아니라

위치를 지정하거나 정렬, 혹은 칸을 지정하고 빈 칸을 채울 수도 있다

 

위치 지정을 설명하자면

a = '{1}의 {0}하루'

위와 같이 순서를 적어주고 다시 

print(a.format('큰고양이','즐거운'))

를 출력하면 큰고양이의 즐거운 하루가 아닌

즐거운의 큰고양이하루 가 출력이 된다

 

1뒤에 : 을 붙여서 자릿수와 좌우 정렬 및 공백을 채울 문자 지정도 가능하다

 

print('[{:10}]'.format('큰고양이'))
를 입력하면
공백과 함께 왼쪽으로 정렬된 것을 확인 가능하다

10 앞에 >를 붙이면 오른쪽 정렬
^를 붙이면 가운데 정렬이 된다

ex)
print('[{:>10}]'.format('큰고양이'))
print('[{:^10}]'.format('큰고양이'))

정렬 앞에 -등의 문자를 붙여서 공백을 채울 수 있다
여기서 중요한건 문자는 한 글자만 넣을수 있다는 것이다



ex)
print('[{:->10}]'.format('큰고양이'))
print('[{:_^10}]'.format('큰고양이'))

10뒤에는.자릿수f를 붙여 만약 실수를 가져오는 경우
소숫점 자릿수를 제한 하는 것도 가능하다
또 ,를 붙이면 천 단위마다 콤마가 찍힌다

 

f-string

f-string은 .format 매서드를 강화한? 뭐 대충 그런거라고 생각하면 된다

.format에서는 뒤에 .format을 적고 들어갈 내용을 붙여서 넣어줬지만

f-string은 {}안에 직접 변수 명을 적는다

 

a = '큰고양이'
b = '즐거운'

print(f'{a}의 {b}일상')

이런식으로 print뒤에 문자열을 선언할때 '앞에 f를 붙여서 f-string을 사용 할 수 있다

{}내의 여러 설정은 위의 .format과 동일하니 참고하면 된다