문자열(String)
문자, 단어 등으로 구성된 문자들의 집합.
문자열 사용법
1. 큰따옴표(")로 양쪽 둘러싸기.
2. 작은따옴표(')로 양쪽 둘러싸기.
3. 큰따옴표 3개를 연속(""")으로 써서 양쪽 둘러싸기.
4. 작은따옴표 3개를 연속(''')으로 써서 양쪽 둘러싸기.
"Hi, I am Sangme!"
'I am gonna be a developer.'
"""My development language is Python."""
'''Python is very interesting.'''
5. 문자열에 따옴표 포함시키기.
- 작은따옴표를 쓰고 싶으면 큰따옴표로 둘러싸고, 큰따옴표를 쓰고 싶으면 작음따옴표로 둘러싼다.
- 따옴표 앞에 백슬래시를 붙여준다.
"Hi, I'm Sangme!"
'Hi, I\'m Sangme!'
'She says. "I am gonna be a developer."'
"She says. \"I am gonna be a developer.\""
6. 여러 줄인 문자열을 변수에 대입시키기
- 줄을 바꾸기 위한 이스케이프 코드 \n 삽입하기.
- 연속된 따옴표(큰, 작은) 3개 사용하기
introduction = "Hi, I am Sangme!\nI am gonna be a developer."
introduction = """Hi, I am Sangme!
I am gonna be a developer."""
익스케이프 코드란?
프로그래밍 할 때 사용 할 수 있도록 미리 정의해 둔 "문자 조합"이다. 주로 출력물을 보기 좋게 정렬하는 용도로 사용한다.
\n : 문자열 안에서 줄을 바꿀 때 사용
\t : 문자열 사이에 탭 간격을 줄 때 사용
\\ : 문자그대로의 백슬러쉬를 표현할 때 사용
\' : 작은따옴표(')를 그대로 표현할 때 사용
\" : 큰따옴표(")를 그대로 표현할 때 사용
\r : 캐리지 리턴(줄 바꿈 문자, 현재 커서를 가장 앞으로 이동)
\f : 폼 피드(줄 바꿈 문자, 현재 커서를 다음 줄로 이동)
\a : 벨 소리(출력할 때 PC 스피커에서 '삑' 소리를 출력한다.)
\b : 백 스페이스
\000: 널 문자
문자열 연산하기
1. 문자열 더해서 연결하기(+)
first = "Kim"
last = "Sang me!"
first + last
'Kim Sang me!'
2. 문자열 곱하기(*)
a = "snoopy"
b = "~"
a + (b * 9)
'snoopy~~~~~~~~~'
3. 문자열 길이 구하기(len함수)
a = "The Great Gatsby"
len(a)
16
문자열 인덱싱과 슬라이싱(Indexing and Slicing)
문자열에서 각 자리에 번호를 붙인다. 첫 번째 글자를 뜻하는 숫자 0을 시작으로 숫자를 붙이고 마지막 자리부터는 -1을 시작으로 숫자를 붙인다.
1. 인덱싱(Indexing)
변수명[번호]를 사용하여 문자열 안의 특정한 값을 뽑아 내는 역할을 한다.
Gatsby = "The great boy"
Gatsby[0]
# 결과 값 'T'
Gatsby[5]
# 결과 값 'r'
Gatsby[-3]
# 결과 값 'b'
2. 슬라이싱(Slicing)
문자열에서 한 문자 이상을 뽑아 내고 싶을 때 사용한다.
각 문자를 인덱싱 후 더하기 연산자를 쓰는 것 보다 슬라이싱이 훨씬 간편하다.
변수명[시작 번호: 끝 번호+1]
Gatsby = "The great boy"
Gatsby[0:3]
# 결과 값 'The'
Gatsby[4:9]
# 결과 값 'great '
Gatsby[4:]
# 결과 값 'great boy'
Gatsby[:-4]
# 결과 값 'The great'
Gatsby[:3]
# 결과 값 'The'
Gatsby[:]
# 결과 값 'The great boy'
a = "20210203Snow"
data = a[:8]
weather = a[8:]
data
# 결과 값 '20210203'
weather
# 결과 값 'Snow'
문자열 내장함수들
문자 개수 세기(count)
a = "Python"
a.count('y')
# 1
위치 알려주기(find, index)
a = "I like it. It is food."
a.find('l')
# 2 찾는 문자열이 제일 처음 나오는 위치를 반환한다.
a.find('b')
# -1 찾는 문자열이 존재하지 않는 경우 -1을 반환한다.
a.index('l')
# 2 문자열이 존재 할 경우 find함수와 결과값이 같다.
a.index('b')
# ValueError 문자열이 존재하지 않을 경우 오류가 발생한다.
문자열 삽입(join)
a = 'smygjyp'
','.join(a)
# 's,m,y,g,j,y,p'
# 리스트자료형 문자열로 변환
a = ['sm', 'yg', 'jyp']
','.join(a)
# 'sm,yg,jyp'
a = ['sm', 'yg', 'jyp']
' '.join(a)
# 'sm yg jyp'
문자열 바꾸기(replace)
a = "I like comic books"
a.replace("comic book","novel")
# 'I like novels'
문자열 나누기(split)
괄호안에 아무 값도 넣어주지 않으면 공백(스페이스, 탭, 엔터 등)을 기준으로 나눠주고, 특정값을 넣어주면 특정값 기준으로 나눠준다.
a = "I want someone just like you"
a.split()
# ['I', 'like', 'comic', 'books']
b.split(", ")
# ['sm', 'yg', 'jyp']
대문자, 소문자 바꾸기(upper, lower)
a = 'hello world'
a.upper()
# 'HELLO WORLD'
a = 'HELLO WORLD'
a.lower()
# 'hello world'
공백 지우기(lstrip, restrip, strip)
a = " hehehe "
a.lstrip()
# 'hehehe ' 왼쪽 공백지우기
a.rstrip()
# ' hehehe' 오른쪽 공백지우기
a.strip()
# 'hehehe' 양쪽 공백지우기
문자열의 종류
str="123" #숫자, 문자+숫자
str="Aa123" #문자+숫자
str="asA" #문자, 문자+숫자
str="a a" #소문자
str=" " #공백
str="ABC" #문자, 문자+숫자, 대문자
if str.isdigit() :
print(str,': 숫자')
if str.isalpha() :
print(str,': 문자')
if str.isalnum() :
print(str,': 문자+숫자')
if str.isupper() :
print(str,': 대문자')
if str.islower() :
print(str,': 소문자')
if str.isspace() :
print(str,': 공백')
'프로그래밍언어 > Python' 카테고리의 다른 글
[Python] 파이썬 자료형 : 튜플 (0) | 2021.02.17 |
---|---|
[Python] 파이썬 자료형 : 리스트 (0) | 2021.02.14 |
[Python] 파이썬 자료형 : 문자열 포매팅(Formatting) (0) | 2021.02.05 |
[Python] 파이썬 자료형 : 숫자형 (0) | 2021.01.27 |
[Python] 파이썬이란 무엇인가? (0) | 2021.01.26 |