데이터 타입과, 문자열데이터(str)을 다루는 기능에 대해 정리합니다.
개요
- 데이터 타입중 ‘문자열(String)’ 과 관련된 다양한 기능을 정리합니다.
string (문자열)
-
복수개의 문자를 순서대로 나열 한 것
-
문자열은 ‘(작은따옴표) 혹은 “(큰따옴표) 사이에 문자를 넣어서 생성
-
문자열 자체에 ‘, “가 있는 경우에는 각각 그 반대의 기호로 생성
e.g) 문자열이 ‘string’ 이면 -> “ ‘string’ “ // 문자열이 “string” 이면 -> ‘ “string” ‘
’’’ ‘'’사용하여 표현 가능
-
차이점
-
’’, “” -> 한줄 문자열 표현
-
’’’ ‘’’ -> 어려줄에 걸쳐 문자열 표현 가능
-
문자열 자체에 ‘나 “가 있는 경우
1
a = '"Hello" World'
1
b = "Hello' World"
앞뒤를 ‘나 “로 둘러주지 않으면 에러가 발생한다.
1
c = "Hello World.
1
print(It's wonderful world")
여러줄로 문자열 표현
1
2
3
4
5
6
7
8
9
c = '''Hello
World'''
d = """Hello
World"""
print(c)
print(d)
Hello World Hello World
escape string (이스케이프 문자)
-
문자열내의 일부 문자의 의미를 달리하여
특정한 효과
를 주는 문자 -
\n
: new line(enter기능)\t
: tab 등
1
2
print('Hello World\n\n') # Hello World 출력하고 2번 줄바꿈
print('Ha\thahaha') # Ha 출력하고 1tab만큼 간격 띄우고 hahaha 출력
Hello World Ha hahaha
indexing & slicing string (문자열 인덱스 및 추출)
-
문자열의 각 문자는 순서가 있음
-
이때 각 문자열의 순서를 인덱스 라고 함
-
첫번째 문자부터 마지막까지 차례대로의 순서를 가짐
-
첫번째 시작문자의 순서는 0으로 시작 (1이 아님주의)
-
예제
문자열의 마지막 문자의 순서의 값 구하기
1
2
3
a = 'Hello World' # 길이 : 11
print(a[10]) # 인덱스번호가 10인 문자열 출력 -> 11개의 문자이고, 0번째 부터 시작 -> 맨 마지막 11번째 문자인 'd'가 출력
d
‘-1’ 인덱스
-
다른 언어와는 달리, python의 경우 음수 인덱스를 지원
-
-1이 가장 마지막 인덱스를, -2가 마지막에서 두번째 인덱스를 의미
-
앞에서 시작할때와는 다르게 0부터 시작하지 않는다.
1
2
3
4
5
print(a[0])
print(a[10])
print(a[-1])
print(a[-11])
H d d H
인덱스의 범위
-
인덱스는 [0, 문자열의 길이) 의 범위만 유효
-
음수 인덱스를 사용할 경우, [-문자열의 길이, -1]
-
범위를 넘어갈 경우 에러 발생
1
2
# print(a[11])
print(a[-12])
문자열 slicing
-
인덱스가 하나의 문자만을 추출한다면,
-
slicing은 부분 문자열을 추출한다고 볼 수 있음
-
변수[시작:끝]와 같이 명시하여 [시작, 끝] 에 해당하는 부분 문자열을 추출
-
시작, 끝 인덱스가 생략이 되어 있다면, 0부터 혹은 끝까지로 간주
1
2
3
4
5
6
7
8
9
a = 'Hello world'
print(a[0:11])
print(a[0:1])
print(a[:5]) #0부터 5번째 인덱스
print(a[3:]) #3번째 인덱스 부터 맨 끝까지
print(a[:]) #모든 인덱스
Hello world H Hello lo world Hello world
문자열 함수
-
문자열은 여러가지 기능 제공을 위한 함수를 내장하고 있음.
-
함수란 특정 기능을 하는 코드로 언제든지 호출하여 해당 기능을 사용 가능하도록 구성한 코드
-
함수에 대한 자세한 내용은 ____에서 다를 예정
upper() 대문자로 변환
1
2
a = 'hello world'
a.upper()
'HELLO WORLD'
replace()
- 문자열 내의 특정 문자를 치환
1
2
a = 'hello world'
a.replace('h', 'j') #h를 j로 치환
'jello world'
하나의 변수에 동일 문자가 여러개라면 모두 변환되니 주의!
1
2
b = 'hello'
b.replace('l','k')
'hekko'
format()
-
문자열내의 특정한 값을 변수로부터 초기화하여 동적으로 문자열을 생성
-
값이 출력될 변수를 {}로 표현하고, 해당 변수들은 format() 에 입력해준다.
1
2
3
4
5
temperature = 25.5
prob = 80.0
a = '오늘 기온{}도 이고, 비올 확률은 {}% 입니다.'.format(temperature, prob)
print(a)
오늘 기온25.5도 이고, 비올 확률은 80.0% 입니다.
split
- 문자열을 특정한 문자를 기준으로 구분하여(delimiter) 문자열의 리스트로 치환
1
2
a = 'hello world what a nice weather'
a.split('w') #a 변수를 'w'를 기준으로 구분하여 리스트로 변환
['hello ', 'orld ', 'hat a nice ', 'eather']
댓글남기기