7. 파이썬 문자열 포매팅, 문자열 함수

  • 네이버 블로그 공유하기
  • 카카오톡 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 트위터 공유하기

파이썬 f 문자열 포매팅

지난번 format 함수에 대해 알아봤는데

이어서 오늘은 파이썬 문자열 포매팅 과 문자열 함수 에 대해 알아보겠습니다.
파이썬 3.6버전 이후로는 f 문자열 포매팅 기능을 사용할수 있다고 합니다.
혹시라도 본인이 사용하는 파이썬 버전이 3.6 버전 미만이라면 주의해야 합니다

Python
>>> name = '스마트'
>>> age = 40
>>> f'저의 이름은 {name}입니다. 나이는 {age}입니다.'
'저의 이름은 스마트입니다. 나이는 40입니다.'

위 예처럼 문자열 앞에 f 를 붙이면 f 문자열 포매팅 기능을 사용할수 있습니다
name, age 같은 변수를 생성후 그 값을 참조 할 수 있습니다.

표현식 지원

Python
>>> age = 30
>>> f'저는 올해 {age+1}살이 되었습니다.'
'저는 올해 31살이 되었습니다.'
  • 표현식 : 문자열 변수 안에서 변수와 +. – 등 의 수식을 함께 사용하는 것

딕셔너리

Python
>>> d = {'name':'스마트', 'age':40}
>>> f'저의 이름은 {d["name"]}입니다. 나이는 {d["age"]}입니다.'
'저의 이름은 스마트입니다. 나이는 40입니다.'
  • 딕셔너리 : key 와 value 를 한쌍으로 가지는 자료형

정렬

Python
>>> f'{"Hello":<10}'   # 왼쪽 정렬
'Hello     '
>>> f'{"hello":>10}'   # 오른쪽 정렬
'     hello'
>>> f'{"hello":^10}'   # 가운데 정렬
'  hello   '

공백 채우기

Python
>>> f'{"hello":=^10}'   # 가운데 정렬하고 '=' 문자로 공백 채우기
'==hello==='
>>> f'{"hello":!<10}'   # 왼쪽 정렬하고 '!' 문자로 공백 채우기
'hello!!!!!'

소수점 표현

Python
>>> x = 3.1456267
f'{x:0.5f}'   # 소수점 5자리까지만 표현
'3.14563'
>>> f'{x:10.5f}'   # 소수점 5자리까지 표현하고 총 자리수를 10으로 맞춤
'   3.14563'

{ } 문자 표시

Python
>>> f'{{ or }}'
'{ or }'

문자열 내장 함수

문자열 자료형의 자체 함수 – 문자열 변수 뒤에 ‘.’를 붙이고 함수 이름을 써줍니다.

문자의 갯수(count)

Python
>>> a = "rabbit"
>>> a.count('b')
2

문자열 중 문자 ‘b’ 의 개수를 리턴합니다.

문자의 위치 1(find)

Python
>>> a = "Language is the key to unlocking happiness"
>>> a.find('g')
3
>>> a.find('i')
9

문자열 중 문자 ‘g’, ‘i’ 의 첫번째 위치를 반환합니다.
찾는 문자나 문자열이 존재하지 않는다면 -1 을 반환합니다.

  • 파이썬은 0 부터 숫자가 시작되므로 g 의 위치는 4 가 아닌 3 이 됩니다.

문자의 위치 2(index)

Python
>>> a.index('t')
12
>>> a.index('x')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: substring not found

find 와 마찬가지로 문자열 중 문자의 첫번째 위치를 반환합니다.
하지만 찾는 문자나 문자열이 존재하지 않는다면 오류를 반환합니다.

문자열 삽입(join)

Python
>>> ",".join('python')
'p,y,t,h,o,n'

문자열 python의 각각의 문자사이에 ‘,’ 를 삽입합니다.
join 함수는 문자열 뿐 아니라 리스트나 튜플에서도 입력으로 사용할수 있습니다.

join 의 리스트 사용 예

Python
>>> ",".join(['p', 'y', 't', 'h', 'o', 'n'])
'p,y,t,h,o,n'

소문자 -> 대문자(upper)

Python
>>> a = "hello"
>>> a.upper()
'HELLO'

대문자 -> 소문자(lower)

Python
>>> a = "HELLO"
>>> a.lower()
'hello'

왼쪽 공백 삭제(lstrip)

Python
>>> a = " hello "
>>> a.lstrip()
'hello '

문자열의 가장 왼쪽의 한 칸 이상의 공백을 모두 지웁니다.

오른쪽 공백 삭제(rstrip)

Python
>>> a.rstrip()
' hello'

문자열의 가장 오른쪽의 한 칸 이상의 공백을 모두 지웁니다.

양쪽 공백 삭제(strip)

Python
>>> a.strip()
'hello'

문자열 양쪽의 한 칸 이상의 공백을 모두 지웁니다.

문자열 변경(replace)

Python
>>> a = "Language is the key to unlocking happiness"
>>> a.replace("Language", "Python")
'Python is the key to unlocking happiness'

replace(원본 문자열, 타켓 문자열)

문자열 나누기(split)

Python
>>> a.split()
['Language', 'is', 'the', 'key', 'to', 'unlocking', 'happiness']
>>> b = "p:y:t:h:o:n"
>>> b.split(":")
['p', 'y', 't', 'h', 'o', 'n']

a.split() 처럼 괄호안에 아무 값도 없을 경우 공백(스페이스, 탭, 엔터 등)을 기준으로 문자열을 나누어 줍니다.
b.split(“:”) 처럼 괄호안에 특정 값이 있을 경우에는 괄호안의 값을 기준으로 해서 문자열을 나누어 줍니다.
이렇게 나누어진 값들은 리스트에 들어가게 됩니다.

파이썬 문자열 포매팅, 문자열 함수

Leave a Comment