티스토리 뷰

# str

str는 문자열을 다루는 내장 클래스로, 따로 import 할 필요가 없다

str클래스의 멤버 메서드를 확인하는 코드는 아래와 같다

>>>dir(str)

['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']

 

 

#capitalize()

첫 문자를 대문자로, 나머지는 소문자로 바꿔준다

>>>"KKUMA".capitalize()

'Kkuma'

 

 

# count(keyword, [start, [end]])

keyword가 몇 번 포함되어 있는지 알려주고, start, end를 지정하면 count에 대한 검색범위를 줄 수 있다

>>>"python is powerful".count('p')

2

>>>"python is powerful".count('p', 5) #[5:]로 슬라이싱하고 카운트한 결과와 동일

1

>>>"python is powerful".count('p', 0, -1) #[0:-1]로 슬라이싱하고 카운트한 결과와 동일

2

 

 

# encode([encoding, [errors]])

str클래스는 기본적으로 유니코드지만, encode()를 거치면 인코딩이 있는 바이너리로 변환된다

>>>"가나다".encode('cp949')

b'\xb0\xa1\xb3\xaa\xb4\xd9'

>>>"가나다".encode('utf-8')

b'\xea\xb0\x80\xeb\x82\x98\xeb\x8b\xa4'

 

 

# endswith(postfix, [start, [end]])

postfix로 문자열이 끝나면 True를, 그 밖의 경우에는 False로 반환한다

>>>"python is powerful".endswith('ful') 

True

>>>"python is powerful".endswith('ful', 5)

True

>>>"python is powerful".endswith('ful', 5, -1)

False

>>>"python is powerful".endswith(('m', 'l')) #postfix에 튜플 사용가능

True  

 

 

# expandtabs([tabsize])

tab을 공백을으로 치환한다 (default tab size는 8자)

>>>"python\tis\tpowerful".expandtabs(1)

'python is powerful'

 

 

# find(keyword, [start, [end]])

keyword가 나타나는 첫번째 인덱스를,  keyword를 찾지못하면 -1을 반환한다

>>>"python is powerful".find('p')

0

>>>"python is powerful".find('p', 5, -1)

10

>>>"python is powerful".find('pa')

-1 

 

 

# index(keyword, [start, [end]])

find()와 동일하게 동작하지만, keyword를 찾지 못하는 경우 Error 발생

>>>"python is powerful".index('p')

0

>>>"python is powerful".index('pa')

Traceback (most recent call last):
  File "<pyshell#14>", line 1, in <module>
    "python is powerful".index('pa')
ValueError: substring not found

 

 

# isalnum()

알파벳과 숫자로 구성되어 있으면 True, 다른문자가 하나라도 포함되어 있으면 False를 반환한다

>>>"kkuma".isalnum()

True

>>>"kkuma123".isalnum()

True

>>>"kkuma!".isalnum()

False

 

 

# isalpha()

알파벳으로만 구성되어 있으면 True, 다른 문자가 하나라도 포함되어 있으면 False를 반환한다

>>>"kkuma".isalpha()

True

>>>"kkuma123".isalpha()

False

 

 

# islower()

모든 알파벳이 소문자이면 True, 대문자가 하나라도 섞여 있으면 False를 반환한다

알파벳 이외의 다른 문자에 대해서는 체크하지 않는다

>>>"kkuma".islower()

True

>>>"KkuMa".islower()

False

>>>"kkuma123".islower()

True

 

 

isspace()

모든 공백문자(White Space: 스페이스, 탭, 개행문자)로 구성되어 있으면 True, 다른 문자가 섞여 있으면 False를 반환한다

>>>" ".isspace()

True

>>>"\t\n".isspace()

True

>>>"k k u m a".isspace()

False

 

 

# istitle()

문자열이 title 스타일인 경우에는 True, 그렇지 않으면 False를 반환한다

title 스타일이란 모든 단어마다 대문자에 이어 소문자가 나오는 형태다

>>>"python is powerful".istitle()

False

>>>"PYTHON IS POWERFUL".istitle()

False

>>>"Python Is Powerful".istitle()

True

 

 

# isupper()

islower()와 반대. 모든 알파벳이 대문자로 구성되어 있으면 True, 그렇지 않으면 False를 반환한다

>>>"Kkuma".isupper()

False

>>>"KKUMA".isupper()

True

>>>"KKUMA123".isupper() #다른문자에 대해서는 체크하지않는다

True

 

 

# isdecimal(), isdigit()

10진수로 구성되어 있으면 True, 다른 문자가 섞여 있으면 False를 반환한다

10진수를 나타내면 ARABIC-INDIC DIGIT도 True로 간주한다

>>>"2580".isdecimal()

 

True

>>>"\u0669", "\u0669".isdecimal()

('٩', True)

>>>"\u00bc","\u00bc".isdecimal()

('¼', False)

 

 

# isnumeric()

숫자여부체크. 숫자로 구성되어 있으면 True, 다른 문자가 섞여 있으면 False를 반환한다

>>>"\u00bc", "\u00bc".isdecimal()

('¼', False)

>>>"\u00bc", "\u00bc".isnumeric()

('¼', True)

 

 

# isprintable()

프린트가 가능한 경우 True, 그렇지 않은 문자가 속한 경우 False를 반환한다

그 예로, 유니코드상에서 Other로 구분되어있는 문자는 False를 반환한다

>>>"test".isprintable()

True

>>>"\u0014".isprintable()

False


'Programming > Python' 카테고리의 다른 글

[Python] 시간 모듈  (0) 2018.09.08
[Python] 문자열 모듈(2)  (0) 2018.09.02
[Python] Dictionary  (0) 2018.08.26
[Python] List  (0) 2018.08.25
[Python] 반복문 for, while  (0) 2018.08.19
댓글
최근에 올라온 글
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Total
Today
Yesterday