이번에 다룰 주제를 문자열을 다루는 여러가지 방법에 대해 설명드리도록 하겠습니다. 파이썬에서 문자를 표시하려면 홑 따옴표 두개('')를 이용해서 문자를 감싸서 표시를 해주면 됩니다. 그런데 만약 문자열 안에 홑따옴표가 있으면 어떻게 해 야 할까요?
>>> char = 'World's largest city' SyntaxError: invalid syntax
위처럼 문자열 안에 홑따옴표가 있을 경우 그냥 홑따옴표로 감싸면 SyntaxError 가 발생하면서 오류가 나게 됩니다. 이런 경우를 해결하는 방법은 문자열을 쌍따옴표로 감싸는 방법으로 해결할 수 있습니다.
>>> char = "World's largest city" 이스케이프 문자(Escape Characters)
또 한가지 방법은 이스케이프 문자를 사용하는 방법입니다. 이스케이프 문자를 말 뜻대로는 어떤 캐릭터, 부호로부터 이탈 하는 것을 뜻하는 데 이런 어려운 말로 이해하기 보다는 문자열 안에 넣을 수 없는 특수문자를 사용할 수 있게 해주는 문자 라고 생각하시면 됩니다. 이스케이프 문자는 백슬래쉬(\) 를 사용하고 그 뒤에 추가할 문자를 넣어주면 됩니다.
>>> char= 'World\'s largest city' >>> char "World's largest city" >>> 사용 가능한 이스케이프 문자들은 아래와 같습니다.
이스케이프 문자 의미
\' 홑따옴표
\" 쌍따옴표
\t 탭
\n Enter
\\ 백슬래쉬
사용 예를 들어보도록 하겠습니다.
>>> print('Hello. \nHow are you?\nI\'m fine.') Hello. How are you? I'm fine. >>> 원시 문자열(Raw Strings)
문자열의 시작 인용부호 앞에 r 을 붙여 원시 문자열로 만들 수 있습니다. 원시 문자열은 모든 이스케이프 문자열을 무시하
고 문자열에 나타나는 백슬래쉬를 출력해 줍니다. 원시 문자열은 백슬래쉬를 많이 쓰이는 정규식에 사용하면 특히 유용합 니다.
>>> print(r'World\'s largest city') World\'s largest city >>> 삼중 따옴표 사용
여러 줄에 데이터를 입력할 경우 입력한 대로 출력을 원할 경우 세개의 홑따옴표나 세게의 쌍따옴표를 사용하여 입력한 대 로 출력을 할 수 있습니다. 이 경우 블록에 대한 파이썬의 들여쓰기 규칙은 적용되지 않습니다.
>>> print('''안녕하세요. 보내 주신 주문서 잘 받았습니다. Eve's Diamond 가 맞으시죠. 그럼 내일 뵙겠습니다.''') 안녕 하세요. 보내 주신 주문서 잘 받았습니다. Eve's Diamond 가 맞으시죠. 그럼 내일 뵙겠습니다. >>>
문자열 잘라내기
문자열은 리스트와 같은 방법으로 색인 및 슬라이스를 사용할 수 있습니다.
>>> char ='Largest City' >>> char[0] 'L' >>> char[3] 'g' >>> char[-1] 'y' >>> char[0:4] 'Larg' >>> char[:4] 'Larg'
>>> char[4:] 'est City' >>> in, not in 연산자의 사용
>>> 'Lar' in 'Largest City' True >>> 'LAR' in 'Largest City' False >>> 'LAR' not in 'Largest City' True >>> 'City' not in 'Largest City' False >>>
문자열 변환 메서드
upper() 메서드를 이용해서 문자열을 대문자로 변환, lower() 메서드를 이용해서 소문자로 변환할 수 있습니다. islower() 메서드를 이용해서 문자가 소문자로 이루었는지를 검사, isupper() 메서드를 이용해서 문자열이 대문자로 이루 어졌는 지를 검사할 수 있습니다.
>>> char='Largest City' >>> char=char.upper() >>> char 'LARGEST CITY' >>> char = char.lower() >>> char 'largest city' >>> char = 'Largest City' >>> char.islower() False >>> char.isupper() False >>> 'LARGEST'.isupper() True >>> 'city123'.islower() True >>>
문자와 숫자 검사 메서드
isalpha() 메서드를 이용해서 문자열이 문자로만 이루어졌는 지를 검사, isalnum() 메서드를 이용해서 문자열이 문자와숫 자로 이루어졌는 지를 검사, isdecimal() 메서드를 이용해서 문자열이 숫자로만 이루어졌는 지를 검사, isspace() 메서드 를 이용해서 문자열이 공백,탭,줄바꿈으로 이루어졌는 지를 검사, istitle() 메서드를 이용해서 문자열이 대문자와 소문자 로 시작하는 단어로만 구성되어 있는지를 검사할 수 있습니다.
>>> 'Largest'.isalpha() True >>> 'Largest123'.isalpha() False >>> 'Largest123'.isalnum() True >>> '123'.isdecimal() True >>> ' '.isspace() True >>> 'Largest City'.istitle() True >>> 'Largest City 123'.istitle() True
>>> 'Largest CITY'.istitle() False >>> startswith(), endswith()
startswith() 메서드와 endswith() 메서드는 문자열이 해당 문자로 시작되거나 종료되는 지를 검사하는 메서드입니다.
>>> 'Largest City'.startswith('Lar') True >>> 'Largest City'.endswith('City') True >>> 'Largest City'.startswith('gest') False >>> 'Largest 123'.endswith('111') False >>>
join(), split()
join() 메서드는 여러 문자열을 하나의 문자열로 묶을 경우 사용하고, split() 메서드는 반대로 하나의 문자열을 여러 문자 열로 분리하려고 할 때 사용되는 메서드입니다.
>>> ' '.join(['고양이', '호랑이', '사자']) '고양이 호랑이 사자' >>> ', '.join(['고양이', '호랑이', '사자']) '고양이, 호랑이,
사자' >>> '와 '.join(['고양이', '호랑이', '사자']) '고양이와 호랑이와 사자' >>> '고양이와 호랑이와 사자'.split('와') ['고 양이', ' 호랑이', ' 사자'] >>>
rjust(), ljust(), center()
rjust() 메서드는 문자열을 오른쪽으로 정렬할때, ljust() 메서드는 문자열을 왼쪽으로 정렬할때, center() 메서드는 문자열 을 중앙 정렬할때 사용됩니다.
>>> 'City'.rjust(20) ' City' >>> 'City'.ljust(20) 'City ' >>> 'City'.center(20) ' City ' >>> 'City'.rjust(20, '*') '****************City' >>> 'City'.ljust(20, '-') 'City ' >>> 'City'.center(20, '=')
'========City========' >>>
strip(), rstrip(), lstrip()
문자열에서 공백을 제거해주는 메서드 들입니다. strip()은 양쪽의 공백 제거, rstrip()은 오른쪽 공백 제거, lstrip()은 왼쪽 의 공백을 제거해 줍니다. 엑셀에서 trim() 함수를 사용해 보셨다면 똑같은 기능을 하는 함수라고 생각하시면 됩니다.
>>> char =' Largest City ' >>> char.strip() 'Largest City' >>> char.lstrip() 'Largest City ' >>> char.rstrip() ' Largest City' >>>
'Python' 카테고리의 다른 글
파이썬 정규식 02 (0) | 2024.12.21 |
---|---|
파이썬 정규식 01 (2) | 2024.12.21 |
파이썬(Python) 딕셔너리 (3) | 2024.11.30 |
파이썬(Python) 리스트 02 (1) | 2024.11.30 |
파이썬(Python) 리스트 01 (0) | 2024.11.30 |