파이썬 문자열 연산 / 인덱싱 / 슬라이싱
✅ 문자열 기초
🌐 파이썬에서는 '글'도 데이터로 사용할 수 있는데, 이것을 '문자열'이라고 한다.
# 작은 따옴표 또는 큰 따옴표. 둘 다 같다!
a = "aa"
b = 'aa'
🌐 '따옴표'로 감싸지 않으면 변수이름을 뜻하기 때문에 꼭 구분해서 써야한다!
a = 1
b = "a"
c = a
print(a, b, c) # 1 "a" 1
🌐 이렇게 다양한 방법으로 만들 수 있기 때문에, '문자열'에 따옴표를 포함해야할 때 쓰면 편하다.
print("I'm happy :)")
✅ 문자열 연산
🌐 문자열 간의 더하기는 두 문자열을 이어붙인 문자열을 반환한다.
first_name = "Harry"
last_name = "Potter"
first_name + last_name # HarryPotter
first_name + " " + last_name # Harry Potter
a = "3"
b = "5"
a + b # 35
🌐 문자열과 정수를 더하면 에러!
a = "3"
a + 5 # 문자열과 숫자형은 더할 수 없어서 에러!
🌐 문자열의 길이는 len() 함수를 써서 구할 수 있다.
print(len("abcde")) # 5
print(len("Hello, Sparta!")) # 14
print(len("안녕하세요.")) # 6
이렇게 특정 자료형 뒤에 . 을 붙이고 쓰는 내장 함수들을 '메소드(method)'라고 한다.
🌐 모든 알파벳을 대문자/소문자로 바꾸기
sentence = 'Python is FUN!'
sentence.upper() # PYTHON IS FUN!
sentence.lower() # python is fun!
🌐 특정 문자를 기준으로 문자열을 나누기
# 이메일 주소에서 도메인 'gmail'만 추출하기
myemail = 'test@gmail.com'
result = myemail.split('@') # ['test','gmail.com'] ( '리스트'라는 자료형)
result[0] # test (리스트의 첫번째 요소)
result[1] # gmail.com (리스트의 두 번째 요소
result2 = result[1].split('.') # ['gmail','com']
result2[0] # gmail -> 우리가 알고 싶었던 것
result2[1] # com
# 한 줄로 한 번에!
myemail.split('@')[1].split('.')[0]
🌐 특정 문자를 다른 문자로 바꾸기
txt = '서울시-마포구-망원동'
print(txt.replace('-', '>')) # '서울시>마포구>망원동'
✅ 인덱싱과 슬라이싱
🌐 문자열은 '문자들의 모임'이기 때문에 그 일부를 따로 떼어 부르는 방법이 있다. 한 글자씩 부를 때는 몇 번째인지 '인덱스'를 넣어 불러서 인덱싱이라고 한다.
f="abcdefghijklmnopqrstuvwxyz"
f[1] # b 파이썬은 숫자를 0부터 센다.
🌐 문자열의 일부를 잘라낼 때는 슬라이싱
f[4:15] # efghijklmno f[4]부터 f[15] 전까지, 총 15-4=11개!
f[8:] # ijklmnopqrstuvwxyz f[8]부터 끝까지, 앞의 8개 빼고!
f[:7] # abcdefg 시작부터 f[7] 전까지, 앞의 7개!
f[:] # abcdefghijklmnopqrstuvwxyz 처음부터 끝까지 복사
특정 문자열로 자르고 싶을 때! split('문자열')을 활용
myemail = 'abc@gmail.com'
domain = myemail.split('@')[1].split('.')[0]
print(domain) # gmail