본문 바로가기
IT/Python

[코딩] 문자열 타입의 이해, 데이터 타입과 컬렉션

by icebear3000 2022. 11. 22.
반응형

string (문자열)
 복수개의 문자를 순서대로 나열 한 것이다. 문자열은 '(작은따옴표) 혹은 "(큰따옴표) 사이에 문자를 넣어서 생성할 수 있다. 문자열 자체에 ', "가 있는 경우에는 각각 그 반대의 기호로 생성한다.

 

차이점
'', "" : 한줄 문자열 표현
''' ''' : 어려줄에 걸쳐 문자열 표현 가능

a = '"Hello" World'
b = "Hello' World"

print(a)
print(b)

#output
"Hello" World
Hello' World
----------------------------------------------------------------------------------------------
c = '''Hello 

World'''

d = """Hello 
World"""
print(c)
print(d)

#output
Hello 

World
Hello 
World

escape string (이스케이프 문자)
 문자열내의 일부 문자의 의미를 달리하여 특정한 효과를 주는 것이다. [\n : new line \t : tab 등]

print('Hello World\n\n')
print('Ha\thahaha')

#output
Hello World


Ha	hahaha

indexing & slicing string (문자열 인덱스 및 추출)
 문자열의 각 문자는 순서가 있다. 이때 각 문자열의 순서를 인덱스 라고 한다. 첫번째 문자부터 마지막까지 차례대로의 순서를 가지며 첫번째 시작문자의 순서는 0으로 시작한다. (1이 아님) 또한, 다른 언어와는 달리, python의 경우 음수 인덱스를 지원한다. -1이 가장 마지막 인덱스를, -2가 마지막에서 두번째 인덱스를 의미한다.

a = 'Hello World' # 길이 : 11

print(a[0])
print(a[10])

print(a[-1])
print(a[-11])

#output
H
d
d
H

인덱스의 범위는 [0, 문자열의 길이) 의 범위만 유효하다. 음수 인덱스를 사용할 경우, [-문자열의 길이, -1]의 길이가 유효하며 범위를 넘어갈 경우 에러가 발생한다.

 

문자열 slicing
 인덱스가 하나의 문자만을 추출한다면, slicing은 부분 문자열을 추출한다고 볼 수 있다. [시작:끝]와 같이 명시하여 [시작, 끝)에 해당하는 부분 문자열을 추출한다. 시작, 끝 인덱스가 생략이 되어 있다면, 0부터 혹은 끝까지로 간주한다.

a = 'Hello world'

print(a[0:11])
print(a[0:1])

print(a[:5])
print(a[3:])

print(a[:])

#output
Hello world
H
Hello
lo world
Hello world

문자열 함수
 문자열은 여러가지 기능 제공을 위한 함수를 내장하고 있다. 함수란 특정 기능을 하는 코드로 언제든지 호출하여 해당 기능을 사용 가능하도록 구성한 코드이다.

  • replace: 문자열 내의 특정 문자를 치환
  • format: 문자열내의 특정한 값을 변수로부터 초기화하여 동적으로 문자열을 생성
  • split: 문자열을 특정한 문자 구분하여(delimiter) 문자열의 리스트로 치환

a = 'hello world'
a.upper() #output HELLO WORLD

a = 'hello world'
a.replace('h', 'j') #output jello world

temperature = 25.5
prob = 80.0

a = '오늘 기온{}도 이고, 비올 확률은 {}% 입니다.'.format(temperature, prob)
print(a)  

#output  오늘 기온25.5도 이고, 비올 확률은 80.0% 입니다.


a = 'hello world what a nice weather'
a.split('w') #output ['hello ', 'orld ', 'hat a nice ', 'eather']
반응형

댓글