본문 바로가기
  • 10.0
파이썬

[파이썬 기초] 문자열 인덱싱과 슬라이싱 / 문자열 주요 함수

by 10.0 2024. 1. 29.
반응형

이전 [파이썬 기초] 상식

목차

[파이썬 기초]
1.문자열 인덱싱과 슬라이싱
2.문자열 주요 함수(변경, 조합, 쪼개기,길이, 공백제거 / replace, len, upper, lower, split, strip, format)

[파이썬 기초] 문자열 인덱싱과 슬라이싱

문자열 

작은따옴표 ' ' 나 큰따옴표 " " 로 묶인 문자들의 모임을 문자열이라고 정의함 

 

  • 'hello world'
  • “hello world" 
  • “I’m studying hard“ 
  • "안녕하세요"
  • "10.0"

 

!주의!

  • 숫자(정수, 실수)처럼 보이지만 따옴표 안에 있다면 문자열 취급한다.
  • 문자를 따옴표 없이 사용하면 변수, 따옴표 안에 사용하면 문자열로 취급한다.
타입
1 int
'1' str
3.14 float
"3.14" str
study 변수
'study' str

 

참고하면 좋은글.

[파이썬 기초] 이것부터 알고가자, 데이터 타입과 타입의 변환 / 화면 출력 함수 print/ 변수(Variable)와 변수 이름 규칙

 

[파이썬 기초] 이것부터 알고가자, 데이터 타입과 타입의 변환 / 화면 출력 함수 print/ 변수(Variable

파린이의 복습노트 목차 [파이썬 기초] 1. 데이터 타입과 타입의 변환 2. 화면 출력 함수 print 3. 변수(Variable)와 변수 이름 규칙 데이터 타입 type() 어떤 값의 타입을 확인 할 수 있음 예시) type(1) int

10dot0.tistory.com

 

문자? 문자열?

파이썬은 문자와 문자열을 구분하지 않고 오직 '문자열'만 존재한다.

 

문자열의 중요성

제공되는 많은 데이터가 문자열의 형태로 제공되기 때문에

데이터 형식에 맞는 문자열의 형태를 확인하고 이를 묶어 변수 혹은 인덱싱할수 있어야 한다.

 

반응형

 

문자열 인덱싱

문자열 인덱싱

인덱싱

인덱스를 사용하여 문자열에서 문자 하나를 가져오는 것.

lang = "python"
lang[0]   # 인덱싱의 시작은 0부터 이다.
p
lang[1]
y

!주의!

인덱스의 처음 시작은 '0'부터이다. 

1,2,3,4, X

0,1,2,3  O

 

음수 인덱싱

음수 값을 사용하면 끝에서 부터 인덱싱 할 수 있다.

lang = "python"
lang[-1]   # 음수 인덱싱은 뒤에서 부터 번호를 매긴다.
n
lang[-2]
o

 

문자열 슬라이싱

문자열 슬라이싱

 

슬라이싱

문자열의 일부 범위를 지정하여 가져오는 것.

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

시작인덱스와 끝인덱스의 구분을 위해 콜론(:)을 사용한다.

시작인덱스와 끝인덱스를 공백으로 두면 자동으로 처음과 끝을 나타낸다.

lang = "python"

lang[0:5]   # 슬라이싱은 범위를 가져온다.
python

lang[-1:-3] # 음수슬라이싱이 가능하다.
hon

lnag[:5]    # 시작 인덱스 혹은 끝 인덱스를 공백으로 두면 자동으로 처음과 끝을 나타낸다.
python

lnag[1:]
ython

 


[파이썬 기초] 문자열 주요 함수(변경, 조합, 쪼개기,길이, 공백제거 / replace, len, upper, lower, split, strip, format)

문자열 주요 함수

문자열과 덧셈

문자열 +  문자열

두 문자열을 이어 붙여서 새로운 문자열을 생성한다.

"2024"
"01"
"30"
print ("2024" + "01" + "30")
20240130

today = "2024" + "01" + "30"
print(today)
20240130


# 심화 (변수와 문자열 합치기)
year = '2024'
month = '01'
day = '30'

date= year + '-' + month + '-' + day
print(date)
2024-01-30

 

 

대문자/소문자로 문자열 변화

 

문자열.upper()    # 소문자 -> 대문자

문자열.lower()    # 대문자 -> 소문자

 

HI = "happy new year"
B_HI = HI.upper()    # 소문자 -> 대문자
print(B_HI)
HAPPY NWE YEAR


S_HI = B_HI.lower()    # 대문자 -> 소문자
print(S_HI)
happy new year

 

 

문자열 쪼개기

문자열.split()

( ) 공백일 경우 공백을 기준으로 문자열을 쪼갠다.

 

HI = "happy new year"
Sp_HI = HI.split()
print(Sp_HI)
"happy","new","year"

 

('-') 괄호안에 내용을 적으면 해당 인자를 기준으로 문자열을 쪼갠다.

 

date = 2024-01-30
new_date = date.split("-")
print(new_date)
"2024","01","30"

 

문자열 변경

Immutable

문자열은 변경할 수 없다.

mood = "happy"
mood[0] = "s"
XXXXX불가능XXXXX

 

 

새로운 문자열 생성만 가능하다.

  •  슬라이싱
mood = "happy"
new_mood = "s" + mood[1:]
print(new_mood)
sappy

 

 

  • 문자열.replace(기존,변경,횟수)

- 기존 문자열에서 변경될 문자

-  변경하고 싶은 새로운 문자

-  문자열속에서 몇번이나 바뀔것인지 횟수 ( 공란으로 두개되면 전체 문장에서 해당하는 문자를 바꾼다.)

 

mood = "happy"
new_mood = mood.replace("h","s",1)    #  h를 s로 1번 변경
print(new_mood)
sappy

new_mood2 = mood.replace("p","s",1)    # p를 s로 1번 변경
print(new_mood2)
haspy

new_mood2 = mood.replace("p","s")    # p를 s로 모두 변경
print(new_mood2)
hassy

 

반응형

문자열 길이

 

len(문자열)

문자열의 길이를 알 수 있다.

 

mood = "happy"
len(mood)
5

 

 

문자열 공백제거

 

문자열.strip()

문자열 양쪽의 공백을 제거한다.

 

mood = "    happy    "
mood = mood.strip()
print(mood)
happy

 

 

컴마

  • 문자열에서 컴마 제거하기
mood_score = "10,000"
mood_score.replace(",","")    # ,를 공백으로 바꾸기
print( mood_score)
10000

 

  • 문자열에 컴마 넣기
mood_score = "10000"
format(mood_score, ",d")
print( mood_score)
10,000

 

반응형