-
자료형에 따른 활용법(함수 등) - 문자열파이썬 2020. 6. 30. 16:09
1. 문자열을 만드는 방식
큰 따옴표( " )로 양쪽 둘러싸기
작은 따옴표( ' )로 양쪽 둘러싸기
큰 따옴표( " ) 3개를 연속( """ )으로 써서 둘러싸기
작은 따옴표 3개를 연속( ''' )으로 써써 양쪽 둘러싸기
2. 문자열 안에 작은 따옴표나 큰 따옴표를 포함시키고 싶을 때
문자열 안에 작은 따옴표 ( ' )를 포함시키고 싶으면 문장을 큰 따옴표( " )로 둘러싼다.
문자열 안에 큰 따옴표 ( " )를 포함시키고 싶으면 문장을 작은 따옴표( ' )로 둘러싼다.
3. 여러 줄인 문자열을 변수에 대입하고 싶을 때
문장 사이에 \n (역슬래시 + n)을 삽입한다.
연속으로 작은 따옴표 3개 ( ''')와 큰 따옴표 ( """ ) 3개를 사용한다.
4. 이스케이프 코드
문자열 처리시 사용할 수 있도록 미리 정의해 둔 "문자 조합"이다.
\n (역슬래시 + n) : 문자열 안에서 줄을 바꿀 때 사용
\t (역슬래시 + t) : 문자열 사이에 탭 간격을 줄 때 사용
\\ (역슬래시 두번) : 문자로서 \를 표현할 때
\' / \" (역슬래시 + 따옴표) : 작은 따옴표( ' ) / 큰 따옴표( " )를 그대로 표현할 때 사용
\b (역슬래시 + b) : 백스페이스
\r (역슬래시 + r) : 캐리지 리턴(줄바꿈 문자, 현재 커서를 가장 앞으로 이동)
\f (역슬래시 + f) : 폼피드(줄바꿈 문자, 현재 커서를 다음 줄로 이동)
\a (역슬래시 + a) : 벨소리(출력 시 PC 스피커에서 '삑' 소리가 난다)
\000 (역슬래시 + b) : 널 문자
5. 인덱싱과 슬라이싱
인덱싱이란 문자열 안에 있는 각 요소에 임의의 번호를 매겨서 특정 값을 관리하고 쓰기 편하게 만드는 방법. 문자열을 인덱싱할 경우 0부터 시작한다.
슬라이싱이란 문자열 안에서 원하는 요소만 잘라내서 사용할 수 있도록 하는 방법을 말한다. 슬라이싱은 문자열 뿐 아니라 튜플과 리스트에서도 사용이 가능하다.
※ 슬라이싱 주의사항
슬라이싱을 할 땐 숫자를 인덱스 형식으로 세어준다. 예를 들면 다음과 같다.
>>> a = (1,2,3,4,5) >>> a[0] = 1 >>> a[1] = 2 >>> a[2] = 3 >>> a[3] = 4 >>> a[4] = 5
하지만 슬라이싱을 할 때는 슬라이싱의 뒤에 오는 숫자에서 -1을 한 인덱스넘버가 해당 결과값의 마지막에 온다. 예를 들면 다음과 같다.
>>> a = (2,3,4,5,6) >>> a[0:3] 2,3,4 #슬라이싱해준 최종 숫자에서 -1을 한 인덱스 넘버가 결과값의 끝에 온다. #즉 a[0:3]은 인덱스 넘버 0,1,2를 결과값으로 나왔다. >>> a[0:4] #슬라이싱 a[0:4]다. 하지만 결과값은 여기서 -1을하고 이것을 인덱스에 반영한다. 2,3,4,5 #인덱스 넘버 0,1,2,3 값인 2,3,4,5가 결과값으로 나왔다. >>> a[0:5] #슬라이싱 a[0:5]다. 하지만 결과값은 여기서 -1을 하고 이것을 인덱스에 반영한다. 1,2,3,4,5 #인덱스 넘버 0,1,2,3 값인 2,3,4,5가 결과값으로 나왔다.
6. 문자열 포매팅
문자열 포맷이란 문자열에 이미 입력된 문자를 외부에서 바꿔주는 것을 의미한다.
문자열 포맷은 숫자, 문자열 등을 나타낼 수 있고 2개 이상의 값을 넣을 수 있다.
* "I eat %s apples." % "five"
문자열 포맷코드는 다음과 같다.
%s 문자열 (String)
%c 문자 1개(character)
%d 정수 (Interger)
%f 부동소수 (floating-point)
%o 8진수
%x 16진수
%% 리터럴 %
format 함수를 사용하면 이렇게 포매팅을 할 수도 있다.
* 문자열 + { } + 문자열 + .format ( )
문자 열 사이에 문자를 넣고 싶은 곳에 { } 를 넣고, 넣고 싶은 데이터는 .format( )에서 ( )에 넣는다.
7. 문자열 관련 함수 (x는 변수, y는 변수에 연결된 문자열)
문자열 길이 구하기 : len(x )
변수의 전체 문자열의 길이를 구하여 돌려준다.
>>> a = "python is good" >>> len(a) 14
문자 개수 세기 : x.count( y )
x변수에서 y문자열의 갯수를 찾아서 돌려준다.
>>> a = "python is good" >>> a.count('p') 1 >>> a = "python is good" >>> a.count('o') 3
위치 알려주기 : x.find( y )
문자열을 입력하면 해당 변수의 문자열에서 같은 문자열의 위치를 인덱스 값으로 돌려준다.
* index와 달리 맞는 문자열이 없으면 -1을 반환한다.
>>> a = "python is good" >>> a.find('p') 0
위치 알려주기 2 : x.index( y )
문자열을 입력하면 해당 변수의 문자열에서 같은 문자열의 위치를 인덱스 값으로 돌려준다.
* 맞는 문자열이 없으면 오류가 발생한다.
>>> a = "python is good" >>> a.index('p') 0
소문자를 대문자로 바꾸기 : x.upper( )
소문자를 대문자로 돌려준다.
>>> a = "python is good" >>> a.upper( ) "PYTHON IS GOOD"
대문자를 소문자로 바꾸기 : x.lower( )
대문자를 소문자로 돌려준다.
>>> a = "PYTHON IS GOOD" >>> a.lower( ) "python is good"
왼쪽 공백 지우기 : x.lstrip()
왼쪽 공백을 지우고 문자열로 다시 되돌려준다.
>>> a = " python " >>> a.lstrip( ) "python "
오른쪽 공백 지우기 : x.rstrip()
오른쪽의 공백을 지우고 문자열로 다시 되돌려준다.
>>> a = " python " >>> a.rstrip( ) " python"
양쪽 공백 지우기 : x.strip()
문자열의 양쪽 공백을 지우고 문자열로 다시 되돌려준다.
>>> a = " python " >>> a.strip( ) "python"
문자열 삽입 : "y". join( x )
문자열의 사이에 특정 문자를 삽입한다.
* 특정 문자를 입력하지 않을 경우 문자열을 그대로 반환한다.
* 리스트에 join함수를 쓸 경우 리스트의 각 요소들을 하나의 문자열로 합쳐 반환한다.
* 튜플에 join함수를 쓸 경우 리스트의 각 요소들을 하나의 문자열로 합쳐 반환한다.
* 공백을 입력한 후 join함수를 쓸 경우 튜플, 리스트는 공백을 기준으로 하나의 문자열로 합쳐 반환한다.
>>> a="python is good" >>> "#".join(a) 'p#y#t#h#o#n# #i#s# #g#o#o#d' >>> a="python is good" >>> "".join(a) 'python is good' >>> a=["python", "is", "good"] >>> "".join(a) 'pythonisgood' >>> a=("python", "is", "good") >>> "".join(a) 'pythonisgood' >>> a=("python", "is", "good") >>> " ".join(a) 'python is good'
문자열 바꾸기 : x.replace("y", "z")
문자열을 바꿔준다.
>>> a = "python is good" >>> a.replace("python", "coffee") "coffee is good"
문자열 나누기 : x.split( "y" )
문자열을 기준에 맞춰 나누어 리스트로 반환한다.
* y자리에 문자를 삽입하면 그 기준에 맞춰서 나눠서 리스트로 반환한다.
* 없을 경우 스페이스바 등의 공백을 자동으로 확인 후 나누어 반환한다.
* 스페이스바 등 공백이 없을 경우 그냥 문자열을 리스트에 넣어서 반환다.
>>> a = "python is good" >>> a.split() ["python", "is", "good"] >>> a = "a:b:c:d" >>> a.split() ['a:b:c:d'] >>> a = "a:b:c:d" >>> a.split(":") ['a', 'b', 'c', 'd']
'파이썬' 카테고리의 다른 글
자료형에 따른 활용법(함수 등) - 튜플 (0) 2020.07.01 자료형에 따른 활용법(함수 등) - 리스트 (0) 2020.07.01 파이썬 자료형 (0) 2020.06.30 파이썬 - 변수, 상수, 리터럴 (0) 2020.06.30 파이썬 입력과 출력 (1) 2020.06.30