잇뉴얼 (IT_Manual)
[Python] 파이썬 문자열 다루는 방법 본문
[Python] 파이썬 문자열 다루는 방법
파이썬에서는 변수를 선언하고 쌍따옴표 ("")나 따옴표 ('')안에 어떤 값들을 넣고 변수에 할당을 하면, 해당 변수는 문자열이 됩니다. 쌍따옴표 ("")나 따옴표 ('')안에 숫자가 들어가든, 기호가 들어가든, 문자열로 만들어줄수 있는데요. 이번 포스트에서는 '문자열'을 어떻게 요리를 할 수 있는지 알아보도록 하겠습니다.
▶ 변수를 문자열로 선언
str1 = "I am "
str2 = 'string'
print(str1 + str2)
# 결과
# I am string
str1의 변수는 쌍따옴표 ("")안에 데이터를 넣었으며, str2의 변수에는 따옴표 ('')안에 데이터를 넣었습니다. 이 두개의 변수는 모드 '문자열'로 선언이 되었는데요. 문자열의 경우 숫자형과 마찬가지로 '+'를 이용할 수 있습니다. 단, 숫자같이 값을 더하는것이 아니라, 해당 문자열을 붙여주는 역할로, print(str1 + str2)의 출력을 보면 str1의 문자열과 str2의 문자열을 붙여서 나오는 모습을 볼 수 있습니다.
num = 1
str = "string"
non_str = num # num안에 있는 1의 값을 대입
print(num, str, non_str)
# 출력
# 1 string 1
쌍따옴표 ("")와 따옴표 ('')가 없는 경우, 해당값은 '문자열'이 아닌, 변수로 생각을 하게 됩니다. 미리 선언한 변수안의 데이터를 새로 선언한 변수에 데이터를 넣게됩니다. 만일 이전에 변수로 선언을 하지 않았다면, 파이썬은 해당 줄에 대해 에러를 발생하게 됩니다.
▶ 문자열 인덱싱
str = "Python Coding"
str[0]
# 결과
# 'P'
문자열안의 배열과 마찬가지로, 한글자마다 인덱스를 가지고 있습니다. 이 인덱스를 이용해서 문자열을 쪼갤수가 있는데요. 위의 코드를 보면, 문자열을 생성한 다음, '변수명[인덱스]'형식으로 작성을 하고, 출력을 보면, 문자열의 맨 앞에 있는 'P'만 보여주고 있습니다.
참고
문자열 인덱스는 배열과 마찬가지로 0부터 시작을 합니다.
▶ 문자열 슬라이싱
str = "Python Coding"
print(str[:6])
print(str[6:])
print(str[2:6])
print(str[:])
# 결과
# Python
# Coding
# thon
# Python Coding
문자열 인덱싱은 한글자 추출뿐만이 아니라, 여러개의 글자를 한번에 추출할 수 있습니다. 이 방법을 '슬라이싱'이라고 하는데요. 위의 코드를 보면 '변수명[첫번째 인덱스:마지막인덱스]'형식으로 적어놓았는데요. 여기서 주의하셔야될 점은, '첫번째 인덱스'는 포함이고, '마지막 인덱스'의 경우 포함이 되지 않습니다. 즉, '첫번째 인덱스 이상 마지막 인덱스 미만의 범위안에 있는 글자들'이라 생각을 하셔야 됩니다.
▶ 특정 문자열 자르는 방법
str = "Python@gmail.com"
print(str.split("@"))
print(str.split("@")[1])
print(str.split("@")[1].split("."))
print(str.split("@")[1].split(".")[0])
# 결과
# ['Python', 'gmail.com']
# gmail.com
# ['gmail', 'com']
# gmail
인덱스를 활용해서 인덱싱과 슬라이싱을 할 수 있고, 특정 문자열을 기준으로 자를수 잇는 기능도 가지고 있습니다. 바로 'split()'함수인데요. '변수명.split("자르는기준")'으로 작성을 하면, 해당 문자열을 기준으로 잘라주는 기능입니다. 코드를 보게되면 자르고 난 다음, 리스트형식으로 출력해주는 모습을 볼 수 있는데요. 여기서 인덱스를 활용하여 리스트안의 값을 가져온 다음, 다시 'split()'함수를 사용해서 또 자를수도 있습니다.
'Coding > Python' 카테고리의 다른 글
[Python] 파이썬 딕셔너리 (Dictionary) (0) | 2022.06.02 |
---|---|
[Python] 파이썬 리스트 (List) (0) | 2022.06.02 |
[Python] 파이썬 변수 선언과 자료형 (0) | 2022.06.01 |
[Python] 파이썬 자료형 - 문자형(String)[2] - 문자열 연산 [+ , * , len(문자열 길이)] (0) | 2022.05.01 |
[Python] 파이썬 자료형 - 문자형(String) (0) | 2022.05.01 |