콘텐츠로 건너뛰기

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(“:”) 처럼 괄호안에 특정 값이 있을 경우에는 괄호안의 값을 기준으로 해서 문자열을 나누어 줍니다.
이렇게 나누어진 값들은 리스트에 들어가게 됩니다.

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

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다