찾고자 하는 메소드가 있으시면 이미지를 참고하시고, "ctrl + f"을 이용해서 메소드를 검색해보세요.
수 관련
len()
- 문자열의 길이를 출력
- 반환형 : Int
string = "python"
print(len(string))
>>> 6
min() , max()
- 최솟값 또는 최댓값을 찾아서 출력
- 반환형 : Int, String
string = "Hello_Python"
print(min(string))
>>> H
print(max(string))
>>> y
int = [ 1, 2, 3, 4, 5 ]
print(min(int))
>>> 1
print(max(int))
>>> 5
count()
- 문자열 내부에 특정 문자가 등장하는 횟수를 출력
- 반환형 : Int
- count( x ) : 문자열 전 범위에서 x가 등장하는 횟수
- count( x , start ) : start 부터 x가 등장하는 횟수
- count( x , start , end ) : start ~ end 범위에서 x가 등장하는 횟수
string = "Hello_Python"
print(string.count("o"))
>>> 2
print(string.count("o",5))
>>> 1
print(string.count("o",0,4))
>>> 0
print(string.count("o",0,5))
>>> 1
인코딩/디코딩
encode()
- 문자열을 바이트 코드인 utf-8, euc-kr, ascii 형식의 byte코드로 변환하는 것을 뜻함.
- 간단히 말하면, 문자열을 숫자로 바꾸는 형식
decode()
- 인코딩의 반대로써, utf-8, euc-kr, ascii 형식의 byte코드를 문자열로 변환하는 것을 뜻함.
import base64
string = "Hello"
print(string.encode("UTF-8"))
>>> b'Hello'
print(base64.b64encode(string.encode("UTF-8")))
>>> b'SGVsbG8='
string_encoding = base64.b64encode(string.encode("UTF-8"))
print(string_encoding.decode("UTF-8"))
>>> SGVsbG8=
print(base64.b64decode(string_encoding.decode("UTF-8")))
>>> b'Hello'
문자열 다루기
strip()
- 문자열의 양쪽의 공백을 제거한 문자열을 출력
- 반환형 : String
- strip("@") : 문자열의 양쪽의 @를 제거한 문자열을 출력
string = " Hello "
print(string.strip())
>>> Hello
string = "@@@@@Hel@@@lo@@@@@"
print(string.strip("@"))
>>> Hel@@@lo
lstrip()
- 문자열의 왼쪽(left)의 공백을 제거한 문자열을 출력
- 반환형 : String
rstrip()
- 문자열의 오른쪽(right)의 공백을 제거한 문자열을 출력
- 반환형 : String
center(길이, 채움문자)
- 문자열을 '길이'의 중앙에 위치하고, 나머지는 양쪽 동일하게 '채움문자'로 채움
- 채움문자 생략 가능
string = "Hello_Python"
print(string.center(20))
>>> Hello_Python
print(string.center(20,"@"))
>>> @@@@Hello_Python@@@@
ljust(길이, 채움문자)
- 문자열을 '길이'의 왼쪽에 정렬하고, 나머지는 오른쪽에 '채움문자'로 채움
- 채움문자 생략 가능
rjust(길이, 채움문자)
- 문자열을 '길이'의 오른쪽에 정렬하고, 나머지는 왼쪽에 '채움문자'로 채움
- 채움문자 생략 가능
string = "Hello_Python"
print(string.ljust(20))
>>> Hello_Python
print(string.ljust(20,"@"))
>>> Hello_Python@@@@@@@@
print(string.rjust(20))
>>> Hello_Python
print(string.rjust(20,"@"))
>>> @@@@@@@@Hello_Python
isspace()
- 문자열이 공백으로만 이루어져 있으면 True, 아니면 False
string = "Hello Python"
print(string.isspace())
>>> False
string = " "
print(string.isspace())
>>> True
split()
- 문자열을 일정한 규칙으로 잘라서 리스트로 만들어 주는 메소드
- split() : 문자열을 공백으로 나누고 리스트로 만듬
- split("구분자") : 문자열을 '구분자'로 나누고 리스트로 만듬
- split("구분자", 분할횟수) : 문자열을 '구분자'로 횟수만큼 나누고 리스트로 만듬
string = "H e l l o _ P y t h o n"
print(string.split())
>>> ['H', 'e', 'l', 'l', 'o', '_', 'P', 'y', 't', 'h', 'o', 'n']
print(string.split("_"))
>>> ['H e l l o ', ' P y t h o n']
print(string.split(" ",5))
>>> ['H', 'e', 'l', 'l', 'o', '_ P y t h o n']
splitlines()
- 여러개의 줄로 이루어진 문자열을 '줄'로 구분하여 리스트로 만들어 주는 메소드
string = '''
Hello
Python
test
'''
print(string.splitlines())
>>> ['', 'Hello', 'Python', 'test']
string = '''Hello
Python
test
'''
print(string.splitlines())
>>> ['Hello', 'Python', 'test']
replace()
- 기존 문자에 있는 문자 old를 new로 교체하고, 그 결과를 반환하는 메소드
- replace(old,new)
- replace(old,new,count)
string = "Hello_Python"
print(string.replace("o","#"))
>>> Hell#_Pyth#n
print(string.replace("o","#",1))
>>> Hell#_Python
join()
- 매개변수로 들어온 리스트에 있는 요소 하나하나를 합쳐서 하나의 문자열로 바꾸어 반환하는 메소드
- "구문자".join(리스트)
- 예시를 보시는게 더 이해가 빠를거 같아요
str_list = [ 'a', 'b', 'c', 'd', 'e']
print(str_list)
>>> ['a', 'b', 'c', 'd', 'e']
print("(^^)".join(str_list))
>>> a(^^)b(^^)c(^^)d(^^)e
zfill()
- 문자열이 특정 길이가 되도록, 문자열 앞에 0으로 채움.
- zfill(특정 길이)
string = "Hello_Python"
print(string.zfill(20))
>>> 00000000Hello_Python
print("HiHi".zfill(20))
>>> 0000000000000000HiHi
상태
isalnum()
- 문자열이 알파벳과 숫자로만 이루어져 있으면 True, 아니면 False
string1 = "Hello"
string2 = "헬로"
string3 = "Hello 헬로 123"
print(string1.isalnum())
>>> True
print(string2.isalnum())
>>> True
print(string3.isalnum()) # 공백 때문에 False
>>> False
isalpha()
- 문자열이 알파벳(영어, 한글 등)으로만 이루어져 있으면 True, 아니면 False
string1 = "Hello"
string2 = "헬로"
string3 = "Hello 헬로 123"
print(string1.isalpha())
>>> True
print(string2.isalpha())
>>> True
print(string3.isalpha())
>>> False
isdigit() , isnumeric()
- 문자열이 숫자만 포함하면 True, 아니면 False
string1 = "Hello"
string2 = "헬로"
string3 = "Hello 헬로 123"
string4 = "123"
string5 = "123원"
print(string1.isdigit())
>>> False
print(string2.isdigit())
>>> False
print(string3.isdigit())
>>> False
print(string4.isdigit())
>>> True
print(string5.isdigit())
>>> False
isdecimal()
- 문자열이 10진수이면 True, 아니면 False
string1 = "512"
string2 = "512.5"
string3 = "Hello"
string4 = "Hello512"
string5 = "Hello 512"
print(string1.isdigit())
>>> True
print(string2.isdigit())
>>> False
print(string3.isdigit())
>>> False
print(string4.isdigit())
>>> False
print(string5.isdigit())
>>> False
islower()
- 문자열이 모두 소문자면 True, 아니면 False
string1 = "Hello"
string2 = "hello"
print(string1.islower())
>>> False
print(string2.islower())
>>> True
isupper()
- 문자열이 모두 대문자면 True, 아니면 False
string1 = "HELLO"
string2 = "hello"
string3 = "H123"
string4 = "123"
print(string1.isupper())
>>> True
print(string2.isupper())
>>> False
print(string3.isupper())
>>> True
print(string4.isupper())
>>> False
lower()
- 문자열 내 모든 대문자를 소문자로 변환
string = "Hello"
print(string.lower())
>>> hello
upper()
- 문자열 내 모든 소문자를 대문자로 변환
string = "Hello"
print(string.upper())
>>> HELLO
swapcase()
- 문자열 내 소문자는 대문자로, 대문자는 소문자로 변환
string = "Hello"
print(string.swapcase())
>>> hELLO
title()
- 문자열을 제목 형식에 맞게 시작은 대문자로, 나머지는 소문자로 변환
string = "hello i'm python"
print(string.title())
>>> Hello I'M Python
istitle()
- 문자열이 제목 형식에 맞게 대문자로 시작하고, 나머지는 소문자면 True, 아니면 Fasle
string1 = "hello python"
string2 = "Hello Python"
print(string1.istitle())
>>> False
print(string2.istitle())
>>> True
capitalize()
- 문자열 내 첫번째 문자를 대문자로 변환하고, 나머지는 소문자로 변환
- title()과 약간 다름, 비교해볼 것.
string = "hello i'm python"
print(string.capitalize())
>>> Hello i'm python
검색
find()
- 문자열에 찾고 싶은 문자 x를 입력하면, 그 문자x가 위치하는 인덱스를 반환.
- 만약 문자x가 없으면 -1 반환
- find(x) : 문자열 내 문자x의 인덱스 찾기
- find(x , start ) : 문자열 내 문자x의 인덱스를 start지점 이후부터 찾기
- find(x , start , end ) : 문자열 내 문자x의 인덱스를 start~end 범위에서 찾기
string = "Hello Python"
print(string.find("o"))
>>> 4
print(string.find("o", 5))
>>> 10
print(string.find("o", 5, 9))
>>> -1
rfind()
- 문자열에 찾고 싶은 문자x를 오른쪽(right)부터 확인하여 인덱스를 반환.
- 만약 문자x가 없으면 -1 반환
- rfind(x)
- rfind(x , start )
- rfind(x, start , end )
string = "Hello Python"
print(string.rfind("o"))
>>> 10
print(string.find("o"))
>>> 4
index()
- find()와 기능은 동일하나, 문자x가 없으면 ValueError 발생
- index(x)
string = "Hello Python"
print(string.index("o"))
>>> 4
print(string.find("k"))
>>> -1
print(string.index("k"))
>>> ValueError: substring not found
rindex()
- index()와 기능은 동일하나, 오른쪽(right)부터 체크
- rindex(x)
string = "Hello Python"
print(string.rindex("o"))
>>> 10
print(string.index("o"))
>>> 4
startswith()
- 문자열이 문자x와 똑같은 문자열로 시작하면 True, 아니면 False
- startswith(x, start)
string ="Hello Python"
print(string.startswith("Hel"))
>>> True
print(string.startswith("HeLLo"))
>>> False
endswith()
- 문자열 끝(right)부터 문자x와 똑같은 문자열로 시작하면 True, 아니면 False
- endswith(x, start, end)
string ="Hello Python"
print(string.endswith("hon"))
>>> True
print(string.endswith("python"))
>>> False
'파이썬' 카테고리의 다른 글
[파이썬] 데이터 타입(Data Type) 종류 (0) | 2022.04.14 |
---|---|
[파이썬] 튜플(Tuple) 메소드 모음 (0) | 2022.04.14 |
[파이썬] 리스트 메소드 모음 (0) | 2022.04.12 |
[파이썬] 문자열 자료형 (0) | 2022.03.31 |
[파이썬]파이썬 숫자형 (0) | 2022.03.31 |