1. 문자열 string
개념
- 앱을 만들거나 데이터를 분석할 때 매우 중요하게 다루어지는 자료형 중 하나
- 시퀀스 자료형 sequence data type
- : 데이터를 순차적으로 메모리에 저장하는 형식의 데이터
- 문자열의 메모리 공간은 1바이트byte(8비트=2의 8승)
import sys
print(sys.getsizeof("a"), sys.getsizeof("ab"), sys.getsizeof("abc"))
50 51 52
=> 메모리 크기가 1씩 증가하는 것을 확인할 수 있음. 여기서 출력된 숫자는 byte를 의미
- 컴퓨터의 특징
- 컴퓨터는 문자를 직접 인식하지 X
- 문자를 숫자로 변환하여 인식
- 문자를 숫자로 변환하기 위한 규칙을 만듦
- 1개의 영문자를 1바이트byte, 즉 2의 8제곱 정도의 공간에 저장
인덱싱
- 리스트와 특징이 거의 같은 자료형
- 글자 하나하나가 상대적인 주소offset를 가짐
abcde
01234
-5-4-3-2-1
a="abcde"
print(a[0], a[4])
a e
print(a[-1], a[-5])
e a
슬라이싱
: 문자열의 주소값을 이용해 문자열의 부분값을 추출해내는 기법
a="TEAMLAB MOOC, AWESOME Python"
print(a[0:6], "AND", a[-9:])
TEAMLA AND ME Python
문자열의 연산
- 일반적인 변수와 마찬가지로 연산이 가능함
- 문자열 변수와 정수형을 같이 연산하는 것은 불가
- 그러나 곱셈은 가능
- 덧셈 연산: 모든 변수가 문자열일 경우 텍스트 붙이기concatenate가 이루어짐
- 이 경우에는 성립X
int_value=2
print("결과는"+int_value)
문자열 함수
- 문자열을 다룰 때 사용하기 유용한 함수
함수명과 기능
len() | 문자열의 문자 개수를 반환 |
upper() | 대문자로 변환 |
lower() | 소문자로 변환 |
title() | 각 단어의 앞글자만 대문자로 변환 |
capitalize() | 첫 문자를 대문자로 변환 |
count(’찾은 문자열’) | ‘찾을 문자열’이 몇 개 들어있는지 개수 반환 |
find(’찾을 문자열’) | '찾을 문자열’이 왼쪽 끝부터 시작해서 몇 번째에 있는지 반환 |
rfind(’찾을 문자열’) | ‘찾을 문자열’이 오른쪽 긑부터 시작해 몇 번째에 있는지 반환 |
startswith(’찾을 문자열’) | ‘찾을 문자열’로 시작하는지 여부 반환 |
endswith(’찾을 문자열’) | '찾을 문자열’로 끝나는지 여부 반환 |
strip() | 공백 삭제 |
rstip() | 오른쪽 공백 삭제 |
lstrip() | 왼쪽 공백 삭제 |
split() | 문자열을 공백이나 다른 문자로 나누어 리스트로 반환 |
isdigit() | 문자열이 숫자인지 여부 반환 |
islower() | 문자열이 소문자인지 여부 반환 |
isupper() | 문자열이 대문자인지 여부 반환 |
- upper() & lower()
- 변수명.문자열 함수명()
title="TEAMLAB X Inflearn" print(title.upper()) 'TEAMLAB X INFLEARN' print(title.lower()) 'teamlab x inflearn'
- title() & capitalize()
- title(): 각 단어의 앞글자만
- capitalize(): 첫 번째 글자만 대문자로
title="TEAMLAB X Inflearn" title.title() 'Teamlab X Inflearn' title.capitalize() 'Teamlab x inflearn'
- count() & isdigit() & startswith()
title="TEAMLAB X Inflearn"
title.count("a")
1
title.upper().count("a")
0
title.isdigit()
False
title.startswith("a")
False
'스터디 > 파이썬 스터디 강의자료' 카테고리의 다른 글
[2팀/김세연] 6차시 파이썬 스터디 - 문자열 (0) | 2023.05.01 |
---|---|
[3팀/김규리] 6차시 파이썬 스터디 - 문자열 (0) | 2023.04.30 |
[4팀/이제은] 6차시 파이썬 스터디 - 문자열 (0) | 2023.04.28 |
[4팀/김민혜] 5차시 파이썬 스터디 - 함수 (0) | 2023.04.13 |
[1팀/허서원] 5차시 파이썬 스터디 - 함수 (0) | 2023.04.06 |