sein-choi 님의 블로그

[Python : basic] 자료형(문자열) 본문

python/기본

[Python : basic] 자료형(문자열)

sein-choi 2024. 11. 18. 17:45

문자열

문자를 나타내기 위한 데이터 형태의 자료형이다

작은따옴표(' '), 큰따옴표(" ") 로 둘러 싸인 문자의 집합이다

ex) '5', '안녕', 'hello', '1.23', '#안녕'

단, ₩, ', '' 는 특별한 문자이기 때문에 ₩ ₩, ₩', ₩' 형태로 입력해야한다

 

🔶문자열 변수

str1 = 'hello python'
str2 = "hello python"

# 여러 줄 문자열
str3 = ''' hello
	python '''

 

🔶문자열 연결 : + 연산을 활용

str1 = 'hello'
str2 = 'python'

print(str1 + str2) # 'hello python'

 

🔶문자열 반복 : * 연산을 활용

str = 'ha'

print(str * 3) # 'hahaha'

 

문자열 인덱싱

문자열은 연속된 시퀀스를 가지고 있다

문자열의 각 요소는 0부터 시작하는 인덱스를 가지고 있다

 

인덱스 : 요소의 순서나 위치를 나타내는 번호

인덱싱 : 인덱스를 이용해서 특정 요소를 추출하는 과정

🔶문자열 인덱싱 : [인덱스] 

# p추출
str = 'hello pyhon'
result = str[6]

print(result)

 

🔶문자열 음수 인덱싱

문자열의 끝에서부터 인덱스를 할당하여 추출한다

단, 음수 인덱스는 -1부터 시작한다

str = 'hello python'
result = str[-1]

print(result) # n
# p추출
str = 'hello python'
result = str[-6]

print(result)

 

✅문자열 슬라이싱

문자열의 부분을 추출한다

 

인덱싱과 슬라이싱의 차이점

인덱싱 : 단일 문자 추출

슬라이싱 : 연속된 문자열 추출

 

🔶문자열 슬라이싱 : [시작 인덱스 : 끝 인덱스 : 스탭(선택사항)]

시작 인덱스 : 슬라이스의 시작 위치를 설정한다

단, 시작 인덱스를 포함

끝 인덱스 : 슬라이스의 끝 위치를 설정한다

단, 끝 인덱스를 포함하지않음

스탭 : 문자를 선택하는 간격을 설정한다

# hello 추출
str = 'hello python'
result = str[0:5]

print(result)

 

시작 인덱스 생략 : [ : 끝 인덱스]

문자열의 처음부터 끝 인덱스 전까지 추출한다

끝 인덱스 생략: [시작 인덱스 : ]

시작 인덱스부터  문자열의 마지막까지 추출한다

시작 인덱스와 끝 인덱스 모두 생략 : [ : ]

문자열을 복사한다

str = 'hello python'

print(str[:6]) # hello
print(str[6:]) # python
print(str[:]) # hello python

 

 

🔶문자열 스탭 

str = 'hello python'
result = str[0:5:2]

print(result) # hlo

 

 

🔶문자열 음수 슬라이싱

문자열의 끝에서부터 인덱스를 할당하여 추출한다

단, 음수 인덱스는 -1부터 시작한다

# hello 추출
str = 'hello python'
result = str[-12:-7]

print(result)

 

🔶문자열 음수 스탭

문자열을 역순으로 추출한다

# python 역순 nohtyp 추출
str = 'hello python'
result = str[-1:-7:-1]

print(result)

 

 

✅문자열 포맷팅(string formatting)

문자열 내부에 변수를 삽입하여 변수가 변함에 따라 문자열이 변경된다

f-문자열 기법 : f'문자{변수}'

name = '공주'
weight = 50.76
f_str = f'내 이름은 {name}이고 몸무게는 {weight}kg 입니다'

print(f_str) # 내 이름은 공주이고 몸무게는 50.76kg 입니다


#변수가 소수점인 경우 반올림 하는 방법 : {변수:.소수점자릿수f}
f_str = f'내 이름은 {name}이고 몸무게는 {weight:.1f}kg 입니다'

print(f_str) # 내 이름은 공주이고 몸무게는 50.8kg 입니다

 

 

 

문자열 함수 & 메소드

함수 : 함수이름(인자)

매소드 : 문자열.매소드이름(인자)

인자 : 함수를 호출할 때 실제로 함수에 전달되는 값

 

🔶문자열 길이 : len()

str = 'python'
print(len(str)) # 6

 

 

🔶대/소문자 변환 : .upper(), .lower()

str = 'hello'
print(str.upper()) # HELLO

 

🔶공백 제거 : .strip(), .lstrip(), .rstrip()

.strip() : 문자열 양쪽 공백을 제거한다

.lstrip() : 문자열 왼쪽 공백을 제거한다

.rstrip() : 문자열 오른쪽 공백을 제거한다

str = ' hello '

print(str.strip()) # 'hello'
print(str.lstrip()) # 'hello '
print(str.rstrip()) # ' hello'

 

🔶다른 문자열로 교체 : .replace('교체하고 싶은 문자', '교체할 문자')

# hello를 bye로 교체하기
str = 'hello python'
print(str.replace('hello', 'bye'))

 

🔶문자열 내에서 특정 문자의 첫 위치 찾기 : .find()

🔶문자열 내에서 특정 문자의 끝 위치 찾기 : .rfind()

# hello 위치 찾기
str = 'hello python hello'

print(str.find('hello')) # 0
print(str.rfind('hello')) # 13

 

🔶문자열 구성 확인하기 : .isdigit(), .isalpha(), .isalnum()

.isdigit() : 문자열이 숫자 조합인지 확인한다

.isalpha() : 문자열이 알파벳 조합인지 확인한다

.isalnum() : 문자열이 문자 or 숫자 조합인지 확인한다

str = '123'
print(str.isdigit()) # True

str = 'abc'
print(str.isalpha()) # True

str = 'abc123'
print(str.isalnum()) # True

 

출저 : 스파르타코딩, 데이콘

'python > 기본' 카테고리의 다른 글

[Python : basic] 튜플  (0) 2024.11.18
[Python : basic] 딕셔너리  (1) 2024.11.18
[Python : basic] 리스트  (0) 2024.11.18
[Python : basic] 자료형(불리언)  (0) 2024.11.17
[Python : basic] 기본 산술 연산자, 복합 대입 연산자  (1) 2024.11.16