IT

[파이썬 기초] 파이썬 문자열(4) - 유용한 문자열 함수들

생각파워 2018. 11. 26. 17:57

파이썬에서는 문자열과 관련된 많은 함수들을 지원한다.

대표적인것을 몇개 살펴보도록 하자.

 

1. 문자열 길이 : len()

문자열의 길이를 알고 싶으면 len()함수를 사용한다.

문자열을 구성하는 문자의 개수를 알 수 있다.

문자열 뿐만 아니라 다른 시퀀스 타입(리스트, 튜플, 딕셔너리)에서도 사용가능하다.

시퀀스에 사용될 경우 각 시퀀스의 항목 개수를 리턴한다.

 

>>> len('dongdongfather')                       # 문자열을 구성하는 문자 개수 리턴
14 
>>> name_list
['Kang Hodong', 'Park Sangmin', 'Kim Yuna']  
>>> len(name_list)                              # 리스트를 구성하는 항목의 개수 리턴
3   
>>> len(('a','b','c','d'))                      # 튜플을 구성하는 항목의 개수를 리턴
4
>>> name_dict
{'a': 'Kang Hodong', 'b': 'Park Sangmin', 'c': 'Kim Yuna'}     # 딕셔너리 구성항목 개수 리턴
>>> len(name_dict)
3

 

 

2. 첫문자를 대문자로 변환 :   capitalize(), title()

문자열을 대문자로 변경할 수 있는 함수들이다.

capitalize()함수는 문자열에서 첫문자를 대문자로 만들어 리턴한다.

titile()함수는 모든 단어의 첫문자를 대문자로 만들어 리턴한다.

 

>>> letters = 'dong dong father'
>>> letters.capitalize()                
'Dong dong father'                          # 첫문자만 대문자로
>>> letters.title()
'Dong Dong Father                           # 단어의 첫문자들 전부 대문자

 

 

3. 대소문자 변환 : upper(), lower(), swapcase()

문자열 전체를 대문자로 변경할 때는 upper() 함수를 사용하고,

소문자로 변경할 때는 lower()함수를 사용한다.

swapcase()는 문자열을 대문자는 소문자로, 소문자는 대문자로 변경한다.

>>> letters
'dong dong father'
>>> u_letters = letters.upper()             # 문자열 전체 대문자로 변경
>>> u_letters
'DONG DONG FATHER'
>>> u_letters.lower()                       # 문자열 전체 소문자로 변경
'dong dong father' 


>>> letters = 'dong dong FATHER'
>>> letters.swapcase()                      # 대문자는 소문자로, 소문자는 대문자로 변경
'DONG DONG father'

 

 

4. 문자열 위치지정 : center(), rjust(), ljust()

문자열을 왼쪽, 오른쪽, 가운데로 정렬할 수 있다.

왼쪽 정렬은 ljust(), 오른쪽 정렬은 rjust(), 가운데 정렬은 center() 함수를 사용하면 된다.

>>> letters
'dong dong father'
>>> letters.center(30)                      # 문자열을 30칸으로 잡아서 가운데 정렬
'       dong dong father       '
>>> letters.ljust(30)                       # 문자열을 30칸으로 잡아서 왼쪽 정렬
'dong dong father              '
>>> letters.rjust(30)                       # 문자열을 30칸으로 잡아서 오른쪽 정렬
'              dong dong father' 

 

 

5. 문자열 대치 : replace()

문자열을 바꾸고 싶을때는 replace()함수를 사용한다.

인자를 주면 인자의 수만큼 문자열 대치 작업을 진행한다.

문자열에서 100개의 'a'가 있고 이 중 앞의 50개만  'b'로 변환하고 싶을때 인자로 50을 주면 된다.

>>> letters = 'bang bang bang'
>>> letters.replace('a','o',2)              # 'a'를 'o'로 변환하는데, 2번만 작업함
'bong bong bang'                            # 마지막 'bang'의 'a'는 세번째라 바뀌지 않음
>>> letters
'bang bang bang'
>>> letters.replace('a','o')                # 마지막 세번째 인자를 주지 않으면 전체가 변경
'bong bong bong'                            # 'a' 세개가 전부 'o'로 변경                   

 

 

 

 

반응형