스터디/파이썬 스터디 강의자료

[4팀/김민혜] 6차시 파이썬 스터디 - 문자열

알 수 없는 사용자 2023. 4. 28. 22:00

6차시_문자열_과제.pdf
0.21MB
6차시_문자열_해답.pdf
0.08MB

 

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를 의미

  • 컴퓨터의 특징
    1. 컴퓨터는 문자를 직접 인식하지 X
    2. 문자를 숫자로 변환하여 인식
    3. 문자를 숫자로 변환하기 위한 규칙을 만듦
    4. 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