프로그래밍/Python

[Python] 문자열에 대하여 - 1

베린이 2023. 11. 29. 08:00
반응형

- 문자열 설명

문자열은 리스트와 비슷하다고 보시면 됩니다.

 

a = "엄마가 섬그늘에"
print(a[0])
print(a[1:5])
print(a[-2])
print(a[-6:-3])

>> 엄
>> 마가 섬
>> 늘
>> 가 섬

 

리스트와 마찬가지로 '+'(더하기)나 '*'(곱하기)를 활용할 수 있습니다.

a = "엄마가 "
b = "섬그늘에"

print(a*3)
print(a+b)

>> 엄마가 엄마가 엄마가 
>> 엄마가 섬그늘에

 

또한 for문을 활용하여 문자열을 더 쉽게 변환할 수 있습니다. 예를 들어 모든 문자 사이에 콤마(,)를 집어넣어 봅시다.

#len: 리스트나 문자열의 길이를 알게 해주는 함수
a = "엄마가 섬그늘"
length = len(a)

for i in range (0,length) :
    print(a[i] + ',')

>> 엄,
>> 마,
>> 가,
>>  ,
>> 섬,
>> 그,
>> 늘,

 

뭔가 제가 원하는 결과가 나오지 않았네요. 이건 print에 옵션을 추가해서 줄 바꿈을 방지할 수 있습니다 다음과 같이 코드를 수정해 봅시다.

a = "엄마가 섬그늘"
length = len(a)

for i in range (0,length) :
    print(a[i] + ',', end = '')

>> 엄,마,가, ,섬,그,늘,

 

- 문자열 함수 활용 방법

1. 문자변환

  • upper: 소문자를 대문자로
  • lower: 대문자를 소문자로
  • swapcase: 대/소문자 서로 변환
  • title: 각 단어 제일 앞 글자만 대문자로

 

예시로 확인해 볼까요?

#upper 함수 사용법: 문자열.upper()
#lower 함수 사용법: 문자열.lower()
#swapcase 함수 사용법: 문자열.swapcase()
#title 함수 사용법: 문자열.title()

a = "I wanna go Home, PLZ let me gO."

print(a.upper())
print(a.lower())
print(a.swapcase())
print(a.title())

>> I WANNA GO HOME, PLZ LET ME GO.
>> i wanna go home, plz let me go.
>> i WANNA GO hOME, plz LET ME Go.
>> I Wanna Go Home, Plz Let Me Go.

 

2. 찾기

  • count: 지정된 문자열의 개수 확인
  • find: 지정된 문자열의 위치 확인
  • index: find와 동일, 하지만 지정된 문자열이 존재하지 않을 경우 오류발생
  • startswith: 지정된 문자열로 시작하면 True
  • endswith: 지정된 문자열로 끝나면 True

 

예시로 확인해 봅시다.

#count 함수 사용법: 문자열.count()
#find 함수 사용법: 문자열.find()
#index 함수 사용법: 문자열.index()
#startswith 함수 사용법: 문자열.startswith()
#endswith 함수 사용법: 문자열.endswith()

a = "엄마가 섬그늘에 굴따러 가면 아기가 혼자 남아 집을 보다가"

#count 함수 활용
print(a.count("혼자"))
print(a.count("가"))

#find 함수 활용
print(a.find("굴"))

#index 함수 활용
print(a.index("굴"))

#startswith 함수 활용
print(a.startswith("굴"))
print(a.startswith("엄"))

#endswith 함수 활용
print(a.endswith("굴"))
print(a.endswith("가"))

>> 1
>> 4
>> 9
>> 9
>> False
>> True
>> False
>> True

 

'프로그래밍 > Python' 카테고리의 다른 글

[Python] 문자열에 대하여 - 3  (0) 2023.12.04
[Python] 문자열에 대하여 - 2  (2) 2023.12.01
[Python] 딕셔너리에 대하여  (2) 2023.11.27
[Python] 튜플에 대하여  (0) 2023.11.22
[Python] List에 대하여 - 2  (0) 2023.11.20