>>> print(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', 'isascii', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'removeprefix', 'removesuffix', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']
str.lower()
: 모든 알파벳을 소문자로 변경한다.
>>> print("Hello, wolrd!".lower()) hello, wolrd!
str.casefold()
: 문자열 str의 모든 문자를 소문자로 변경한다. lower()과 다른 점은 영문자 외에 소문자가 존재하는 문자를 소문자로 변경하는 것이다.
>>> print("Preußen war ein seit dem Spätmittelalter bestehendes Land an der Ostsee.".casefold()) preussen war ein seit dem spätmittelalter bestehendes land an der ostsee.
str.upper()
: 문자열 str의 모든 알파벳을 대문자로 변경한다.
>>> print("Hello, wolrd!".upper()) HELLO, WOLRD!
str.capitalize()
: 문자열 str의 첫 번째 알파벳을 대문자로 바꾸고, 다른 알파벳은 모두 소문자로 변경한다.
>>> print("hELLO, wORLD!".capitalize()) Hello, world!
str.title()
: 띄어쓰기, 특수문자 등으로 구분된 문자열 str의 각 첫 번째 알파벳을 대문자로 바꾼다.
>>> print("they're bill's friends from the UK".title()) They'Re Bill'S Friends From The Uk
str.swapcase()
: 문자열 str의 대문자와 소문자를 바꾼다.
>>> print("Hello, world!".swapcase()) hELLO, WORLD!
str.startswith(prefix[, start[, end]])
: str[start:end] 문자열에서 첫 번째 문자열이 prefix인지 확인한다.>>> print("Hello, world!".startswith('H')) True
str.endswith(suffix[, start[, end]])
: str[start:end] 문자열에서 마지막 문자열 suffix인지 확인한다.
>>> print("Hello, world!".endswith('!')) True
str.isalnum()
: 문자열 str이 숫자와 알파벳 만으로 구성되어 있으면 True를 반환한다.
>>> print("01234five".isalnum()) True >>> print("01234five!".isalnum()) False >>> print("012 34".isalnum()) False
str.isalpha()
: 문자열 str이 알파벳 만으로 구성되어 있으면 True를 반환한다.
>>> print("zeroonetwo".isalpha()) True >>> print("01234five!".isalpha()) False
str.isascii()
: 문자열 str이 모두 ASCII문자로 구성되어 있으면 True를 반환한다.
>>> print("Hello, world!".isascii()) True >>> print("안녕".isascii()) False
str.isdecimal()
: 문자열 str 이 10진법의 정수로 바꿀 수 있으면 True를 반환한다.
>>> print("10.0".isdecimal()) False >>> print("10".isdecimal()) True >>> print("10²".isdecimal()) False >>> print("½".isdecimal()) False
str.isdigit()
: 문자열 str이 정수와 compatibility superscript digits로 바꿀 수 있으면 True를 반환한다.
>>> print("10.0".isdigit()) False >>> print("10".isdigit()) True >>> print("10²".isdigit()) True >>> print("½".isdigit()) False
str.isnumeric()
: 문자열 str이 정수와 Unicode numeric value 값으로 구성되어 있으면 True를 반환한다. 제곱 특수문자와 분수 특수문자 등을 인식한다.
>>> print("10.0".isnumeric()) False >>> print("10".isnumeric()) True >>> print("10²".isnumeric()) True >>> print("½".isnumeric()) True
isnumeric > isdigit > isdecimal
str.islower()
: 문자열 str의 알파벳이 모두 소문자면 True를 반환한다.
>>> print("Hello, world!".islower()) Fasle >>> print("hello, world!".islower()) True
str.isupper()
: 문자열 str의 알파벳이 모두 대문자면 True를 반환한다.
>>> print("Hello, world!".isupper()) Fasle >>> print("HELLO, WORLD!".isupper()) True
str.isprintable()
: 문자열 str이 print가 가능하면 True를 반환하고, Unicode에 other로 구분되어 있으면 False를 반환한다.
>>> print("\u0014".isprintable()) False
str.isspace()
: 문자열 str이 모두 공백으로만 되어있으면 True를 반환한다.
>>> print(" ".isspace()) True >>> print("Hello, world!".isspace()) False >>> print("".isspace()) False
str.istitle()
: 문자열 str이 str.title()과 일치하면 True를 반환한다.
>>> print("Hello, World!".istitle()) True >>> print("Hello, world!".istitle()) False
str.center(width[, fillchar])
: width 길이 만큼 fillchar 문자로 채운 뒤, str을 가운데 정렬한다.
>>> print("Hello, world!".center(20, '#')) ###Hello, world!#### >>> print("Hello, world!".center(10, '#')) Hello, world!
str.ljust(width[, fillchar])
: width 길이 만큼 fillchar 문자로 채운 뒤, str을 왼쪽 정렬(justified)한다.
>>> print("Hello, world!".ljust(20, '#')) Hello, world!#######
str.rjust(width[, fillchar])
: width 길이 만큼 fillchar 문자로 채운 뒤, str을 오른쪽 정렬(justified)한다.
>>> print("Hello, world!".rjust(20, '#')) #######Hello, world! >>> print("-123456".rjust(10, "0")) 000-123456
str.zfill(width)
: 문자열 str을 width 넓이만큼 ASCILL 0과 원본 문자열을 채운 값을 반환한다. rjust와의 차이점은 -와 + sign을 맨 앞에 위치시킨다는 점이다.
>>> print("Hello, world!".zfill(20)) 000000Hello, world! >>> print("-123456".zfill(10)) -000123456
str.count(sub[, start[, end]])
: 문자열 str[start:end]에서 문자(열)sub가 포함된 개수를 반환한다.
>>> print("Hello, world!".count('o')) 2 >>> print("Hello, world!".count("world", 0, 6)) 0
str.find(sub[, start[, end]])
: 문자열 str[start:end]에서 문자(열)sub를 찾아 첫 번째로 나오는 index를 반환한다. 찾지 못하면 -1을 반환한다.
>>> print("Hello, world!".find('o')) 4 >>> print("Hello, world!".find('o', 5)) 8 >>> print("Hello, world!".find("ll")) 2 >>> print("Hello, world!".find("@")) -1
str.rfind(sub[, start[, end]])
: 문자열 str[start:end]에서 문자(열)sub를 오른쪽 끝에서부터 찾아 첫 번째로 나오는 index를 반환한다. 찾지 못하면 -1을 반환한다.
>>> print("Hello, world!".rfind('o')) 8
str.index(sub[, start[, end]])
: find와 같으나, sub를 찾지 못하면 ValueError를 반환한다.
>>> print("Hello, world!".index("@")) ValueError: substring not found
str.rindex(sub[, start[, end]])
: rfind와 같으나, sub를 찾지 못하면 ValueError를 반환한다.
>>> print("Hello, world!".rindex("@")) ValueError: substring not found
str.join(iterable)
: iterable 문자열을 str으로 합친다.
>>> print(' '.join(["Hello,", "world!"])) Hello, world!
str.replace(old, new[, count])
: 문자열 str 중 old 문자열을 찾아서, 왼쪽부터 count 만큼 new 문자열로 바꾼다.
print("Hello, world...".replace('.', "!", 2)) Hello, world!!.
str.split(sep=None, maxsplit=-1)
: 문자열 str을 문자열 sep을 기준으로 왼쪽부터 maxsplit의 개수만큼 나눈 list를 반환한다. 이때 maxsplit의 값이 없거나 -1이면 발견한 sep(str.count("sep")
)의 개수만큼 나눈다.
>>> print("Apple, Banana, Strawberry, Peach, Mandarin".split(sep=", ")) # ","이 아니다. ['Apple', 'Banana', 'Strawberry', 'Peach', 'Mandarin'] >>> print("Apple, Banana, Strawberry, Peach, Mandarin".split(sep=", ", maxsplit=3)) ['Apple', 'Banana', 'Strawberry', 'Peach, Mandarin']
str.rsplit(sep=None, maxsplit=-1)
: 문자열 str을 문자열 sep을 기준으로 오른쪽부터 maxslit의 개수만큼 나눈 list를 반환한다. 이때 maxsplit의 값이 없거나 -1이면 발견한 sep(str.count("sep")
)의 개수만큼 나눈다.
>>> print("Apple, Banana, Strawberry, Peach, Mandarin".rsplit(sep=", ", maxsplit=3)) ['Apple, Banana', 'Strawberry', 'Peach', 'Mandarin']
str.splitlines([keepends])
: 문자열 str을 Escape sequence로 나눈 list를 반환한다. 이때, keepends가 True이면 특수문자를 포함하여 나눈다.
Escape sequence Description \n Line Feed \r Carriage Return \r\n Carriage Return + Line Feed \v or \x0b Line Tabulation \f or \x0c Form Feed \x1c File Separator \x1d Group Separator \x1e Record Separator \x85 Next Line (C1 Control Code) \u2028 Line Separator \u2029 Paragraph Separator
>>> print("ab c\n\nde fg\rkl\r\n".splitlines()) ['ab c', '', 'de fg', 'kl'] >>> print("ab c\n\nde fg\rkl\r\n".splitlines(keepends=True)) ['ab c\n', '\n', 'de fg\r', 'kl\r\n']
str.lstrip([chars])
: chars가 없으면 문자열 str에서 왼쪽 공백을 제거한다. chars가 있으면 왼쪽부터 characters 각 문자가 연속으로 나올 때까지 제거한다. 예컨대 "abcde,".lstrip('cba')
이면 문자열 abcde에서 왼쪽부터 char 'c', char 'b', char 'a'의 연속된 조합이 나올 때까지 제거하여 'de,'를 반환한다.
>>> print(" Hello, world!".lstrip(' abcdefgfijklmnopqrstuvwxyzH')) , world! >>> print(" Hello, world!".lstrip(' abcdefgfijklmnopqrstuvwxyz')) Hello, world!
str.rstrip([chars])
: chars가 없으면 문자열 str에서 오른쪽 공백을 제거한다. chars가 있으면 오른쪽부터 characters 각 문자가 연속으로 나올 때까지 제거한다.
str.strip([chars])
: chars가 없으면 문자열 str에서 양쪽 공백을 제거한다. chars가 있으면 양쪽에서부터 characters 각 문자가 연속으로 나올 때까지 제거한다.
>>> print(" Hello, world!".strip(' abcdefgfijklmnopqrstuvwxyzH!'))
str.partition(sep)
: 문자열 str에서 문자열 sep기준으로 3개의 tuple container에 저장한다. sep를 찾을 수 없으면 원본 문자열과 빈 문자열 2개로 이루어진 tuple을 반환한다.
>>> print("Hello, world!".partition(", ")) ('Hello', ', ', 'world!') >>> print("Hello, world!".partition("@")) ('Hello, world!', '', '')
str.rpartition(sep)
:문자열 str에서 문자열 sep기준으로 3개의 tuple container에 저장한다. sep를 찾을 수 없으면 빈 문자열 2개와 원본 문자열로 이루어진 tuple을 반환한다.
>>> print("Hello, world!".partition(", ")) ('Hello', ', ', 'world!') >>> print("Hello, world!".rpartition("@")) ('', '', 'Hello, world!')
str.removeprefix(prefix, /)
: 문자열 str에서 왼쪽 앞에서부터 문자열 prefix(전치사)와 일치하는 문자열을 제거한다. 제거할 것이 없으면 원본 문자열을 반환한다.
# New in version 3.9. >>> print("Hello, world!".removeprefix("Hello")) , world!
str.removesuffix(suffix, /)
: 문자열 str에서 오른쪽 끝에서부터 문자열 suffix(접미사)와 일치하는 문자열을 제거한다. 제거할 것이 없으면 원본 문자열을 반환한다.
# New in version 3.9. >>> print("Hello, world!".removesuffix(", world!")) Hello
str.expandtabs(tabsize=8)
: tab을 tabsize만큼 공백문자로 변환한다.>>> print("01\t012\t0123\t01234\t012345".expandtabs(4)) 01 012 0123 01234 012345
0 1 0 1 2 0 1 2 3 0 1 2 3 4 0 1 2 3 4 5
str.encode(encoding="utf-8", errors="strict")