티스토리 뷰
# str
str는 문자열을 다루는 내장 클래스로, 따로 import 할 필요가 없다
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()를 거치면 인코딩이 있는 바이너리로 변환된다
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 is powerful'
# find(keyword, [start, [end]])
keyword가 나타나는 첫번째 인덱스를, keyword를 찾지못하면 -1을 반환한다
0
>>>"python is powerful".find('p', 5, -1)
10
>>>"python is powerful".find('pa')
-1
# index(keyword, [start, [end]])
find()와 동일하게 동작하지만, keyword를 찾지 못하는 경우 Error 발생
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를 반환한다
True
>>>"kkuma123".isalnum()
True
>>>"kkuma!".isalnum()
False
# isalpha()
알파벳으로만 구성되어 있으면 True, 다른 문자가 하나라도 포함되어 있으면 False를 반환한다
True
>>>"kkuma123".isalpha()
False
# islower()
모든 알파벳이 소문자이면 True, 대문자가 하나라도 섞여 있으면 False를 반환한다
알파벳 이외의 다른 문자에 대해서는 체크하지 않는다
True
>>>"KkuMa".islower()
False
>>>"kkuma123".islower()
True
# isspace()
모든 공백문자(White Space: 스페이스, 탭, 개행문자)로 구성되어 있으면 True, 다른 문자가 섞여 있으면 False를 반환한다
True
>>>"\t\n".isspace()
True
>>>"k k u m a".isspace()
False
# istitle()
문자열이 title 스타일인 경우에는 True, 그렇지 않으면 False를 반환한다
title 스타일이란 모든 단어마다 대문자에 이어 소문자가 나오는 형태다
False
>>>"PYTHON IS POWERFUL".istitle()
False
>>>"Python Is Powerful".istitle()
True
# isupper()
islower()와 반대. 모든 알파벳이 대문자로 구성되어 있으면 True, 그렇지 않으면 False를 반환한다
False
>>>"KKUMA".isupper()
True
>>>"KKUMA123".isupper() #다른문자에 대해서는 체크하지않는다
True
# isdecimal(), isdigit()
10진수로 구성되어 있으면 True, 다른 문자가 섞여 있으면 False를 반환한다
10진수를 나타내면 ARABIC-INDIC DIGIT도 True로 간주한다
True
>>>"\u0669", "\u0669".isdecimal()
('٩', True)
>>>"\u00bc","\u00bc".isdecimal()
('¼', False)
# isnumeric()
숫자여부체크. 숫자로 구성되어 있으면 True, 다른 문자가 섞여 있으면 False를 반환한다
('¼', False)
>>>"\u00bc", "\u00bc".isnumeric()
('¼', True)
# isprintable()
프린트가 가능한 경우 True, 그렇지 않은 문자가 속한 경우 False를 반환한다
그 예로, 유니코드상에서 Other로 구분되어있는 문자는 False를 반환한다
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 |