문자열이란?
문자열(String)이란 문자, 단어 등으로 구성된 문자들의 집합을 의미한다.
따옴표로 둘러싸여 있으면 모두 문자열이라고 보면 된다. 예를 들어 다음과 같은 것들이 문자열이다.
"Life is too short, You need Python" "a" "123"
|
문자열 인덱싱과 슬라이싱
#문자열 인덱싱이란?
인덱싱이란 무엇인가를 '가리킨다'라는 의미입니다. 인덱싱은 문자열을 배열처럼 쓰는 것으로 이해하면 됩니다.
"파이썬은 0부터 숫자를 센다."
>>> a = "Life is too short" a[0]:'L', a[1]:'i', a[2]:'f', a[3]:'e', a[4]:' ', ... |
0부터 숫자를 센다는 것이 처음에는 익숙하지 않겠지만,
위 예에서 볼 수 있듯이 a[번호]는 문자열 안의 특정한 값을 뽑아내는 역할을 한다.
이러한 작업을 인덱싱이라고 한다.
뒤에서부터 셀때는 음수 사용
>>> a = "Life is too short, You need Python" >>> a[-2] 'o' >>> a[-5] 'y' |
#문자열 슬라이싱이란?
연속적인 객체들에(예 : 리스트, 튜플, 문자열) 범위를 지정해 선택해서 객체들을 가져오는 방법 및 표기법을 의미합니다.
>>> a = 'Hello world' >>> a[0:5] 'Hello’ |
a[0:5]가 뜻하는 것은 a라는 문자열(문장)에서 0부터 5까지의 문자를 뽑아낸다(잘라낸다)라는 뜻입니다.
문자열 메소드
#문자열 계산 관련 메소드
★len() : 문자열 길이
min(), max() : 문자열 내 문자, 혹은 숫자의 최소값, 최대값 (알파벳 순서, 숫자 순서 기반)
count() : 문자열 안에서 매개변수로 입력한 문자열이 몇 개 들어있는지 개수를 셈 (begin, end 위치 설정 가능)
#문자열에 특정 문자 들어있는지 여부, 어디에 위치하고 있는지 찾아주는 메소드
startswith() : 문자열이 매개변수로 입력한 문자열로 시작하면 True, 그렇지 않으면 False 반환
endswith() : 문자열이 매개변수로 입력한 문자열로 끝나면 True, 그렇지 않으면 False 반환
★find() : 문자열에 매개변수로 입력한 문자열이 있는지를 앞에서 부터 찾아 index 반환, 없으면 '-1' 반환
rfind() : 문자열에 매개변수로 입력한 문자열이 있는지를 뒤에서 부터 찾아 index 반환, 없으면 '-1' 반환
index() : find()와 기능 동일하나, 매개변수로 입력한 문자열이 없으면 ValueError 발생
rindex() : index()와 기능 동일하나, 뒤에서 부터 매개변수의 문자열이 있는지를 찾음
#숫자, 문자 포함 여부 확인하는 메소드
isalnum() : 문자열이 알파벳과 숫자로만 이루어졌으면 True, 그렇지 않으면 False
isalpha() : 문자열이 알파벳(영어, 한글 등)으로만 이루어졌으면 True, 그렇지 않으면 False
isdigit() : 문자열이 숫자만 포함하고 있으면 True, 그렇지 않으면 False, isnumeric()과 동일
isnumeric() : 문자열이 숫자로만 이루어져 있으면 True, 그렇지 않으면 False, isdigit()과 동일
isdecimal() : 문자열이 10진수 문자이면 True, 그렇지 않으면 False
#대문자, 소문자 여부 확인하고 변환해주는 문자열 메소드
islower() : 문자열이 모두 소문자로만 되어있으면 True, 그렇지 않으면 False
isupper() : 문자열이 모두 대문자로만 되어있으면 True, 그렇지 않으면 False
★lower() : 문자열 내 모든 대문자를 모두 소문자(a lowercase letter)로 변환
upper() : 문자열 내 모든 소문자를 모두 대문자(a uppercase letter)로 변환
swapcase() : 문자열 내 소문자는 대문자로 변환, 대문자는 소문자로 변환
istitle() : 문자열이 제목 형식에 맞게 대문자로 시작하고 이후는 소문자이면 True, 그렇지 않으면 False
title() : 문자열을 제목 형식(titlecased)에 맞게 시작은 대문자로, 나머지는 소문자로 변환
capitalize)=() : 문자열 내 첫번째 문자를 대문자로 변환하고, 나머지는 모두 소문자로 변환
#공백 존재 여부 확인 및 처리하기 문자열 메소드
★lstrip() : 문자열의 왼쪽에 있는 공백을 제거
★rstrip() : 문자열의 오른쪽에 있는 공백을 제거
strip() : 문자열의 양쪽에 있는 공백을 제거
isspace() : 문자열이 단지 공백(whitespace)으로만 되어있을 경우 True, 그렇지 않으면 False
center(width) : 총 길이가 매개변수로 받는 문자열폭(width)만큼 되도록 공백을 추가하여 중앙 정렬
#문자열을 나누고, 붙이고, 교체하고, 채우는 문자열 메소드
★split() : 문자열을 구분자(delimiter, separator) 기준에 따라 나누기
★splitlines() : 여러개의 줄로 이루어진 문자열을 줄 별로 구분하여 리스트 생성
★replace(old, new, max) : old 문자열을 new 문자열로 교체. 단, max 매개변수 있으면, max 개수 만큼만 교체하고 이후는 무시
★join() : 여러개의 문자열을 구분자(separator) 문자열을 사이에 추가하여 붙이기
★zfill(width) : 문자열을 매개변수 width만큼 길이로 만들되, 추가로 필요한 자리수만큼 '0'을 채움
ljust(width[, fillchar]) : 문자열을 매개변수 width만큼 길이로 만들되, 왼쪽은 원본 문자열로 채우고,
rjust(width[, fillchar]) : 문자열을 매개변수 width만큼 길이로 만들되, 오른쪽은 원본 문자열로 채우고, 왼쪽에 추가로 필요한 자리수만큼 매개변수 fillchar 문자열로 채움
예제
Q1. -를 사용하여 oggy를 차례대로 출력해보시오
c = 'Hello My nick name is oggy' |
출력 결과 )
o
g
g
y
Q2. 다음 결과를 예상해라.
str = 'today: 03.21' ipos = str.find(':') value = str[ipos+2:] print(value) |
[출처: edwith(파이썬 자료구조), 점프투파이썬, R Friend 님Tistory(https://rfriend.tistory.com/327)]
'Python' 카테고리의 다른 글
[Python 기초] 크롤링 실습 - 텔레그램 봇 만들기 (0) | 2020.05.30 |
---|---|
[Python 기초] 크롤링 실습 - 네이버 뉴스 기사 크롤링하기 (0) | 2020.05.23 |
[Python 기초] 프로그래밍 시작하기 (0) | 2020.05.16 |
[Python 기초] 함수 (Function) (0) | 2020.04.23 |
[Python 기초] 클래스 (Class) (0) | 2020.04.06 |
댓글