본문 바로가기

python

파이썬 문자열 연산 / 인덱싱 / 슬라이싱

✅ 문자열 기초

🌐 파이썬에서는 '글'도 데이터로 사용할 수 있는데, 이것을 '문자열'이라고 한다.

# 작은 따옴표 또는 큰 따옴표. 둘 다 같다!

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

11

이렇게 특정 자료형 뒤에 . 을 붙이고 쓰는 내장 함수들을 '메소드(method)'라고 한다.

🌐 모든 알파벳을 대문자/소문자로 바꾸기

sentence = 'Python is FUN!'

 

sentence.upper() # PYTHON IS FUN!

sentence.lower() # python is fun!

defgh

🌐 특정 문자를 기준으로 문자열을 나누기

# 이메일 주소에서 도메인 '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

02

'python' 카테고리의 다른 글

파이썬_조건문 if / else / elif  (0) 2023.07.14
파이썬 딕셔너리 {dictionary} 기능 모음  (0) 2023.07.13
파이썬 리스트(list) 기능 모음  (0) 2023.07.13
Python 변수 선언 & 자료형  (0) 2023.07.13
파이썬(Python)이란?  (0) 2023.07.13