📌 문자열이란?
문자열은 따옴표를 사용해서 표기하며, '+' 연산자로 병합할 수 있다.
a = "hi"
b = "hello"
c = a+b
print(c)
>>> hihello
A = '123'
이렇게 따옴표 안에 숫자가 들어있으면 숫자여도 123이라는 문자열로 표기되며,
이를 숫자로 표기하고 싶다면 x = int(A) 같이 int() 함수를 이용하여 정수형으로 변환할 수 있다.
A = 'HELLO'
B = A[1]
print(B)
>>> E
문자열에 있는 어떤 문자든지 대괄호 안에 지정된 '인덱스'를 이용해서 가져올 수 있으며
인덱스는 0부터 시작한다. 즉 H가 A[0]인 셈이다.
문자열의 길이
A 문자열의 길이를 알고 싶다면 어떻게 하면 될까?
len()을 써주면 된다.
len(A)
>>> 5
인덱스는 4까지 있지만 길이는 언제나 +1이라는 것을 기억하자.
인덱스를 문자열 길이만큼 출력하면 오류가 뜬다. 인덱스는 길이보다 -1 이기 때문이다.
문자열의 루프
while, if, for 문 등을 사용할 수 있는 부분은 동일하다.
hi = 'hello'
count = 0
for i in hi :
if i == 'l' :
count += 1
print(count)
>>> 2
i가 hi 문자열 안으로 한번씩 들어가면 h, e, l, l, o 이렇게 나오는데 이때 i가 l이라면 count에 1을 더해주는 유한 루프다.
알고리즘을 풀 때 이 부분이 추상적이라 이해가 잘 안됐었는데 문제를 여러 개 풀다 보니 이해가 됐다.
문자열의 슬라이싱
인덱스와 콜론을 사용해서 문자열의 특정 구간을 가져오거나, 삭제할 수 있다.
A = 'I LOVE PYTHON'
print(A[0:4])
>>> I LO
print(A[6:7])
>>>
print(A[7:20])
>>> PYTHON
I LOVE PYTHON
이 놈의 인덱스는 0부터 12까지 있다. (길이는 13이고 띄어쓰기도 포함된다.)
첫번째부터 뜯어보면 0부터 4의 앞까지, 0123 까지를 말한다.
두번째는 6 하나만 말해서 ' ' 띄어쓰기가 출력됐다.
세번째는 7부터 20의 앞까지, 즉 7부터 19까지 출력되면 되는데 길이를 벗어난다.
두 번째 숫자가 문자열 마지막 너머를 가리킬 경우에는 문자열 끝까지 출력되는 형태다.
첫번째 숫자나 두번째 숫자를 생략할 수도 있다.
print(A[:]) 이렇게 나온다면 처음부터 끝까지, 0부터 12까지를 말한다.
print(A[:2]) 이렇게 나온다면 I << 이렇게 출력되고,
print(A[4:]) 이렇게 나온다면 VE PYTHON 여기까지 나온다.
논리 연산자로서 in
in은 반복문에서만 사용되지 않는다.
in 표현식은 참/거짓 과 같이 불리언 값을 찾는데 사용된다.
hi = 'hello'
'l' in hi
>>> True
이런 식으로 어떤 문자열이 다른 문자열에 포함되어있는지 확인하기 위해서도 사용한다.
문자열 라이브러리
파이썬은 여러 개의 문자열 함수를 정의하는 문자열 라이브러리가 존재한다.
이 함수들은 문자열에 내장되어 있고, 함수를 문자열 변수에 붙임으로서 호출할 수 있다.
이 친구들은... 원본 문자열을 수정하지 않고, 바뀐 새로운 문자열을 반환한다. sort() 같은 거랑 다른 개념이다.
hi = 'hello'
greeting = hi.upper()
print(greeting)
>>> HELLO
이렇게 사용된다.
replace, split, find 등등 문자열 라이브러리는 상당히 많은데 수업에서 나온 몇 가지만 정리해본다.
1) str.capitalize() : 맨 첫 글자만 대문자로 변환한다.
upper는 모든 알파벳을 대문자로 변환, 비슷하게 title()은 진짜 타이틀처럼 나누어진 영단어의 첫 글자를 대문자로 변환
2) str.find() : 하위 문자열을 다른 문자열에서 탐색한다. 찾지 못하면 '-1'을 출력한다.
hi = 'hello'
greeting = hi.find('l')
print(greeting)
>>> 2
3) str.replace(찾을 값, 바꿀 값(, 횟수)) : 찾을 값을 다른 값으로 바꿔준다.
횟수는 입력해도 되고 하지 않아도 된다.
4) lstrip() rstrip() strip() : 왼쪽 공백 삭제, 오른쪽 공백 삭제, 양옆 공백 삭제
오랜만에 정리...
'🥧 Python > 💭 네이버 부캠 모위파' 카테고리의 다른 글
[네이버 부스트캠프: 모두를 위한 파이썬] 9장. 딕셔너리 (0) | 2023.03.10 |
---|---|
[네이버 부스트캠프: 모두를 위한 파이썬] 8장. 리스트 (0) | 2023.03.09 |
[네이버 부스트캠프: 모두를 위한 파이썬] 5장. 루프와 반복문 (0) | 2023.03.02 |
[네이버 부스트캠프: 모두를 위한 파이썬] 4장. 함수 (0) | 2023.03.01 |
[네이버 부스트캠프: 모두를 위한 파이썬] 3장. 조건부 실행 (0) | 2023.03.01 |