파이썬 문자열은 인덱싱, 슬라이싱 기능과 다양한 메서드를 제공합니다. 문자열은 수정할 수 없습니다.
다만 곱하기와 합치기는 사용 가능합니다.
1. 문자열 인덱싱
letters가 바인딩하는 문자열에서 첫번째와 세번째 문자를 출력
letters = 'python'
print(lang[0], lang[2])
>>>
p t
슬라이싱할 때 '시작인덱스:끝인덱스:오프셋'을 지정
string = "홀짝홀짝홀짝"
print(string[::2])
>>>
홀홀홀
2. 문자열 슬라이싱
자동차 번호가 다음과 같을 때 뒤에 4자리만 출력
icense_plate = "24가 2210"
print(license_plate[-4:])
>>>
2210
문자열을 거꾸로 뒤집어 출력
string = "PYTHON"
print(string[::-1])
>>>
NOHTYP
3. replace 메서드
전화번호를 모두 붙여 출력
phone_number = "010-1111-2222"
phone_number1 = phone_number.replace('-', '')
print(phone_number1)
>>>
01011112222
소문자 'a'를 대문자 'A'로 변경
string = 'abcdfe2a354a32a'
string = string.replace('a', 'A')
print(string)
>>>
Abcdfe2A354A32A
정수형으로 타입을 변환하려면 int( ) 함수를 사용
이때 숫자 형태의 문자열에 컴마가 있는 경우 바로 변환된지 않음
먼저 문자열의 replace 메서드로 컴마를 제거한 후 변환
상장주식수 = "5,969,782,550"
컴마제거 = 상장주식수.replace(",", "")
타입변환 = int(컴마제거)
print(타입변환, type(타입변환))
>>>
상장주식수 = "5,969,782,550"
4. strip 메서드
문자열의 좌우의 공백 제거
data = " 삼성전자 "
data1 = data.strip()
print(data1)
>>>
삼성전자
[Tip] rstrip 메서드
문자열의 오른쪽 공백 제거
data = "039490 "
data = data.rstrip()
>>>
039490
lstrip()는 왼쪽 공백 제거
5. split 메서드
split 메서드를 활용하면 문자열을 여러개로 쪼개는데 유용
이러한 메서드를 알고 있으면 문자열로 되어 있는 파일 경로로 부터 파일 제목을 추 출하는 등의 상황에서 아주 유용하게 사용
a = "hello world"
a.split()
>>>
['hello', 'world']
이때 어떤 값을 넘겨주면 그 값을 기준으로 문자열을 분리
ticker = "btc_krw"
ticker.split("_")
>>>
['btc', 'krw']
date = "2020-05-01"
date.split("-")
>>>
['2020', '05', '01']
url 에 저장된 웹 페이지 주소에서 도메인을 출력
split() 메서드를 사용하면 문자열로 표현된 url에서 `.`을 기준으로 분리
분리된 url 중 마지막을 인덱싱하면 도메인만 출력
url = "http://sharebook.kr"
url_split = url.split('.')
print(url_split[-1])
>>>
kr
[Tip] 문자열에서 공백을 제거한 후 문자열을 리스트로 변환하기
text = " Hello how are you "
cleaned_text = text.strip()
words = cleaned_text.split()
print(words)
>>>
['Hello', 'how', 'are', 'you']
[Tip] 데이터 불러올때 경로 처리할때 split 사용
아래의 예시에서는 file_path 라는 문자열 변수에 데이터의 경로를 저장하고, split() 함수를 사용하여 문자열을 / 기준으로 분할
이때, rsplit() 함수를 사용하여 오른쪽에서부터 최대 1회만 분할하도록 설정하여 파일명과 디렉토리로 나눔. 분할된 결과를 각각 directory 와 filename 변수에 할당하여 출력
# 데이터의 경로를 문자열로 표현
file_path = "/usr/local/data/sample.txt"
# split() 함수를 사용하여 디렉토리와 파일명으로 분할
directory, filename = file_path.rsplit('/', 1)
print("디렉토리:", directory)
print("파일명:", filename)
>>>
디렉토리: /usr/local/dat
파일명: sample.txt
이러한 방식으로 데이터의 경로를 문자열로 표현하고, 이를 split() 함수를 활용하 여 필요한 정보를 추출
6. 문자열 연산
합치기
a = "3"
b = "4"
print(a + b)
>>>
34
곱하기
print("-" * 80)
>>>
--------------------------------------------------------------------------------
print("Hi" * 3)
>>>
HiHiHi
t1 = "python"
t2 = "java"
t3 = t1 + ' ' + t2 + ' '
print(t3 * 4)
>>>
python java python java python java python java
7. 문자열 출력 f-string 포맷팅
변수에 다음과 같이 문자열과 정수가 바인딩되어 있을 때 % formatting을 사용
변수의 위치에 중괄호{}를 사용하여 변수와 함께 기입
[방법 1]
x = 10
print(f"변수 x의 값은 {x}입니다.")
[방법 2]
x = 10
print("변수 x의 값은 {}입니다.".format(x))
>>>
변수 x의 값은 10입니다.
[방법 1]
name1 = "김민수"
age1 = 10
name2 = "이철희"
age2 = 13
print("이름: %s 나이: %d" % (name1, age1))
print("이름: %s 나이: %d" % (name2, age2)
[방법 2]
name1 = "김민수"
age1 = 10
name2 = "이철희"
age2 = 13
print("이름: {} 나이: {}".format(name1, age1))
print("이름: {} 나이: {}".format(name2, age2))
>>>
이름: 김민수 나이: 10
이름: 이철희 나이: 13
이번 글은 가단한 파이썬 실습을 위주로 정리했습니다.
파이썬을 기초부터 공부하고 싶다면 여기를 클릭🔥
'Python' 카테고리의 다른 글
[TIL/알고리즘 코딩 테스트] Lv.1 문제 해설1️⃣_26일차(짝수와 홀수,평균,자릿수 더하기,약수의 합) (0) | 2024.05.29 |
---|---|
[TIL]Python 기초 실습 문제_25일차(리스트) (0) | 2024.05.08 |
[TIL] 파이썬 문법 기초4️⃣_14일차(튜플,집합,f-string) (0) | 2024.04.15 |
[TIL] 파이썬 문법 기초3️⃣_13일차(조건문 if,else,elif / 반복문 for,enumerate,break /함수 def) (0) | 2024.04.11 |
[TIL] 파이썬 문법 기초2️⃣_12일차(문자열,메소드,인덱싱과 슬라이싱,리스트,딕셔너리) (0) | 2024.04.09 |