관리 메뉴

NineTwo meet you

[파이썬기초] 문자열 본문

프로그래밍언어/파이썬

[파이썬기초] 문자열

NineTwo 2020. 9. 21. 23:20
반응형

문자열이란 문자, 단어 등으로 구성된 문자들의 집합을 의미한다.

문자열은 다음과 같이 4가지 방식으로 표현할 수 있다.

'문자열'
"문자열"
'''문자열'''
"""문자열"""

문자열 더하기

>>>a = 'Have a'
>>>b = ' nice day!'
>>>a+b
'Have a nice day'

문자열 곱하기

>>>a = ' good!! '
>>>a*3
' good!!  good!!  good!! '

Escape 코드

프로그래밍 시 사용할 수 있도록 미리 정의해둔 문자 조합이다.

\n 문자열 안에서 줄을 바꿀 때 사용
\t 문자열 사이에 탭 간격을 줄 때 사용
\\ 문자 \를 그대로 표현할 때 사용
\' 문자 '(작은따옴표)를 그대로 표현할 때 사용
\" 문자 "(큰따옴표)를 그대로 표현할 때 사용
\r 캐리지 리턴(줄바꿈 문자, 현재 커서를 가장 앞으로 이동)
\f 폼 피드(줄바꿈 문자, 현재 커서를 다음 줄로 이동)
\a 벨 소리(출력시 PC스피커에서 '삑'소리가 난다)
\b 백 스페이스
\000 널 문자

문자열 인덱싱

indexing은 무언가를 '가리킨다'는 의미다.

문자열 인덱싱이란 문자열의 각 문자마다 번호를 매기고 특정한 인덱스의 문자를 뽑아낸다고 생각하면 된다.

단, 파이썬은 0부터 숫자를 센다.

문자열을 뒤에서부터 읽기 위해서는 -를 붙인다.

문자열[인덱스]을 지정했을 때 문자열의 해당 인덱스 값을 뽑아낼 수 있다.

예) str = "python"이 저장되어있다고 생각해보자.

p y t h o n
0 1 2 3 4 5
-6 -5 -4 -3 -2 -1
>>>str[0]
'p'
>>>str[-6]
'p'
>>>str[-1]
'n'

문자열 슬라이싱

slicing은 '잘라낸다'는 의미이다.

문자열 슬라이싱이란 문자열의 특정 부분을 잘라낸다고 생각하면 된다.

단, 파이썬은 0부터 숫자를 센다.

문자열을 뒤에서부터 읽기 위해서는 -를 붙인다.

문자열[시작번호:끝번호+1]을 지정했을 때, 문자열의 시작 부분부터 끝부분까지 뽑아낼 수 있다.

예) str = "A piece of cake"이 저장되어있다고 생각해보자.

A   p i e c e   o f   c a k e
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
 -15 -14 -13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1
>>>str[0:7]
'A piece'

>>>str[0]+str[1]+str[2]+str[3]+str[4]+str[5]+str[6]
'A piece'

>>>str[10:]
' cake'

>>>str[:]
'A piece of cake'

>>>str[2:-5]
'piece of'

>>>str[-13:-8]
'piece'

문자열 포매팅

문자열 포매팅이란 문자열 내에 어떤 값을 삽입하는 것을 의미한다.

[문자열 포맷 코드]

%s 문자열(string)
%c 문자 1개(character)
%d 정수(integer)
%f 부동 소수(floating-point)
%o 8진수
%x 16진수
%% 문자 % 자체
>>>"I have %d%s" %(5, "apples")
'I have 5 apples'

#10은 양수라 오른쪽 정렬이면서 10자리를 확보하고. 2라서 소수점 둘째 자리까지만 출력
>>>"-----%10.2f-----" %3.1415926535897
'-----      3.14-----'

#-10은 음수라 왼쪽 정렬이면서 10자리를 확보하고. 4라서 소수점 넷째 자리까지만 출력
>>> "-----%-10.4f-----" %3.1415926535897
'-----3.1416    -----'

[fomat함수 이용]

>>>"I ate {} apples It was {}".format(5, "delicious")
'I ate 5 apples It was delicious'

#오른쪽 정렬
>>> "I ate----{:<10}----apples It was {}".format(5, "delicious")
'I ate----5        ----apples It was delicious'

#왼쪽 정렬
>>> "I ate----{:>10}----apples It was {}".format(5, "delicious")
'I ate----         5----apples It was delicious'

#가운데 정렬
>>> "I ate----{:^10}----apples It was {}".format(5, "delicious")
'I ate----     5     ----apples It was delicious'

#정렬하고 빈문자열 -로 채우기
>>> "I ate----{:-^10}----apples It was {}".format(5, "delicious")
'I ate--------5---------apples It was delicious'

>>> "PI is {:0.4f}".format(3.1415926535897)
'PI is 3.1416'

>>> "PI is {:10.4f}".format(3.1415926535897)
'PI is     3.1416'

문자열 관련 함수들

count 문자열.count(요소) 문자열안에 찾는 요소의 개수 리턴, 패턴 찾을때 사용
find 문자열.find(요소) 문자열안에 찾는 요소가 맨 처음 나온 인덱스 리턴
요소가 존재하지 않으면 -1리턴
index 문자령.index(요소) 문자열안에 찾는 요소가 맨 처음 나온 인덱스 리턴
요소가 존재하지 않으면 에러발생
join 문자열.join(요소) 문자열 사이 사이에 요소 삽입
upper 문자열.upper() 문자열의 소문자를 대문자로 변환
lower 문자열.lower() 문자열의 대문자를 소문자로 변환
swapcase 문자열.swapcase() 문자열의 소문자는 대문자로 대문자는 소문자로 변환
lstrip 문자열.lstrip() 문자열 왼쪽 공백 지움
rstrip 문자열.rstrip() 문자열 오른쪽 공백 지움
strip 문자열.strip() 문자열 양쪽에 존재하는 공백 지움
replace 문자열.replace(요소1, 요소2) 문자열 안에 요소1을 요소2로 치환
split 문자열.split(요소) 문자열을 요소를 기준으로 나누고 리스트로 반환

 

 

반응형

'프로그래밍언어 > 파이썬' 카테고리의 다른 글

[파이썬기초] 집합  (0) 2020.09.22
[파이썬기초] 딕셔너리  (0) 2020.09.22
[파이썬기초] 튜플  (0) 2020.09.22
[파이썬기초] 리스트  (0) 2020.09.21
[파이썬기초] 자료형 & 연산자  (0) 2020.09.21
Comments