본문 바로가기

개발(차근차근 기초)/Python

[Python] 문자열

문자열 변수 선언

>>> message1 = "Hello World"

>>> message2 = 'Good day to go picnic"

>>> message3 = "Holy see' # 서로 다른 따옴표 혼용 불가

 

문자열의 덧셈

>>> message4 = message1 + message2

>>> message5 = "Hello" + " World"

>>> print(message4)

Hello WorldGood day to go picnic

>>> print(message5)

Hello World

 

문자열의 곱셉

>>> message = "Go" * 3

>>> print(message)

GoGoGo

 

문자열의 연결

>>> print(message1 + ", " + message2)

Hello World, Good day to go picnic

 

" 또는 '의 표현

문자 " 또는 ' 를 표현하고 싶을 때는

\" 또는 \' 로 따옴표 앞에 역슬래시를 붙여준다.

 

문자열의 줄바꿈

>>> message6 = """My life is rosy

I'm happy"""

>>> print(message6)

My life is rosy

I'm happy

 

문자열의 인덱싱 (문자열에 인덱스로 접근하기)

작성 : 문자열변수이름[0이상 또는 -1이하)

>>> message = It's beautiful world!

>>> print(message[1])

t

>>> print(message[-1])

!

 

문자열의 슬라이싱 (문자열 자르기)

작성 : 문자열변수이름[시작위치:끝위치]

출력 : 끝위치는 포함 안되는 [시작위치:끝위치)가 된다.

>>> message = It's beautiful world!

>>> print(message[1:6])

t's b

 

시작 위치만 지정하기

>>> print(message[5:]) // 인덱스 5번(6번째 글자)부터 끝까지

beautiful world!

>>> print(message[-6:]) // 인덱스 -6(뒤에서부터 6번째 글자)부터 끝까지

world!

 

끝 위치만 지정하기

>>> print(message[:3] // 처음부터 인덱스 3까지

It'

>>> print(message[:-3] // 처음부터 인덱스 -3까지

It's beautiful wor

 

모든 글자 추출

>>> print(msg[:])

It's beautiful world!

 

 

문자열 포매팅 (% 문자 사용)

특정한 값이 치환되어질 형식 문자를 포함하여 문자열의 형식(format)을 미리 정해 놓고 형식 문자에 특정 변수 값을 적용하여 문자열을 완성하는 방법

%d : 10진 정수

%f : 10진 실수

%s : 문자열

%c : Character

%o : 8진 정수

%x : 16진 정수

%% : '%' 문자

 

사용 예제

>>> whoami = "나는 %s 입니다."

>>> result = whoami % "천재"

>>> print (result)

나는 천재입니다.

 

>>> print( "나는 점심에 %s, %d개 먹었다." % ("사과", 3))

나는 점심에 사과, 3개 먹었다.

 

문자열 포매팅 (format 함수 사용)

방법1 (치환자에 인덱스 번호 0부터 숫자 넣기)

>>> str = "나는 점심으로 {0}을 먹었고, {1}원이었다."

>>> print(str.format("부대찌개",8000))

나는 점심으로 부대찌개를 먹었고, 8000원이었다.

 

방법2 (치환자에 이름 부여하기)

>>> str = "나는 점심으로 {what}를 먹었고, {price}원이었다."

>>> print(str.format(what="부대찌개", price=8000))

나는 점심으로 부대찌개를 먹었고, 8000원이었다.

 

>>> str = "{{나}}는 {0}이야"

>>> print(str.format("짱"))

{나}는 짱이야

 

섞어쓰기

>>> str = "나는 점심으로 {what}를 먹었고, {0}원이었다. 저녁으로는 {price}원짜리 {1}을 먹을 것이다."

>>> print(str.format(9000,what="부대찌개", price=8000,"가정식백반"))

나는 점심으로 부대찌개를 먹었고 8000원이었다. 저녁으로는 9000원짜리 가정식백반을 먹을 것이다.

 

format 함수는 자릿수 채우기, 정렬하기, 소수점 처리하기, 치환하기 등 다양한 기능들을 가지고 있다.

 

그 외 함수

검색 관련

count(단어 개수 세기), find(단어 첫 위치 찾기, -1 리턴), rfind(단어 마지막 위치 찾기), index(단어 첫 위치 찾기, 오류 발생)

startswith(특정 단어로 시작하는지 여부, boolean을 리턴), endswith (특정 단어로 끝나는지 여부, boolean을 리턴)

 

문자열 변환

upper(대문자 변환), lower(소문자 변환), swapcase(대문자->소문자, 소문자->대문자), capitalize(문장의 첫 글자를 대문자로), title(각 단어의 첫글자를 대문자로 변환), replace("a", "b")(a를 b로 변경)

'개발(차근차근 기초) > Python' 카테고리의 다른 글

[Python] 리스트 (list)  (0) 2020.05.24
[Python] 설치 및 코드 실행  (0) 2020.03.17