1. 메소드 method
🐰 메소드 method란 특정 객체 object가 가지고 있는 함수 function을 의미
🐰 함수는 독립적으로 호출할 수 있지만, 메소드는 특정 객체를 통해서만 호출할 수 있음
함수()
객체.메소드() : 점(.) 연산자 사용
객체 -> 메소드() php, c
1) count()
👩🏻🚀 문자열 내부에 포함된 특정 문자열의 개수를 반환하는 메소드
s = '내가 그린 기린 그림은 목 긴 기린 그림이고, 네가 그린 기린 그림은 목 짧은 기린 그림이다.'
print(s.count('기린')) # 4
# 인덱스를 지정해서 범위를 지정할 수 있음
s = 'best of best'
print(s.count('best',5)) # 1 / 인덱스 5번 부터 검색
# 마이너스 인덱스를 사용할 수 있음
s = 'best of best'
print(s.count('best', -7)) # 1 / o부터 검색
2) find()
👩🏻🚀 문자열 내부에 포함된 특정 문자열을 찾고자 할 때 사용
👩🏻🚀 찾고자 하는 문자열이 있으면 그 문자열이 처음으로 나온 위치 즉 인덱스 index를 반환
🐰 find() : 왼쪽부터 찾아서 처음 등장하는 위치를 찾는다 🐰 rfind() : 오른쪽부터 찾아서 처음 등장하는 위치를 찾는다 |
s = 'apple'
print(s.find('p')) # 1
# 찾는 문자열이 없는 경우 -1 반환
s = 'apple'
print(s.find('z')) # -1
if s.find('z') == -1:
print(s)
# 인덱스를 이용해서 검색할 범위를 지정 가능
# 시작할 인덱스를 지정하지 않는 경우에는 문자열의 처음부터 찾고, 시작할 인덱스를 지정하는 경우 지정된 인덱스부터 찾음
s = 'best of best'
print(s.find('best')) # 0
print(s.find('best',5)) # 8
# find() 메소드와 찾는 방향이 다른 rfind() 메소드
# right와 find를 합친 이름으로 오른쪽부터 찾음
s = 'best of best'
print(s.find('best')) # 8
📌 문자열은 0번째 부터 시작, 결과는 해당 글자가 위치한 인덱스를 찾아 리턴함
📌 찾는 문자열이 없는 경우 -1 반환
3) index()
👩🏻🚀 find() 메소드와 같은 역할을 수행하며 사용방법도 동일. 두 메소드의 차이점은 문자열이 없을 때 발생
👩🏻🚀 find() 메소드는 찾는 문자열이 없는 경우 -1을 반환, index() 메소드는 오류 발생
s = 'apple'
print(s.index('p')) # 1
print(s.index('z')) # ValueError : substring not found
4) upper() / lower() / capitalize()
👩🏻🚀 upper : 모두 대문자로 변환한 결과를 반환 |
👩🏻🚀 lower : 모두 소문자로 변환한 결과를 반환 |
👩🏻🚀 capitalize : 첫 글자는 대문자로 변환하고 나머지는 소문자로 변환한 결과를 반환 |
s = 'Best of best'
print(s.upper()) # BEST OF BEST
print(s.lower()) # best of best
print(s.capitalize()) # Best of best
5) join()
👩🏻🚀 인수로 전달한 반복가능객체(문자열, 리스트 등)의 각 요소 사이에 문자열을 포함시켜 새로운 문자열을 만들고 그 결과를 반환
문자열.join(문자열로 구성된 리스트)
print('-'.join('python')) # p-y-t-h-o-n
print('+'.join(['a', 'b', 'c', 'd', 'e'])) # a+b+c+d+e
# 포함하는 문자 없이 단순하게 리스트의 요소들을 연결하고자 한다면 빈 문자열 사용
print(' '.join(['x', 'y', 'z'])) # x y z
a = {'a': 'apple', 'b': 'banana'}
print(''.join(a)) # ab / 딕셔너리의 경우 key를 연결
6) split()
👩🏻🚀 문자열을 '특정한 문자'로 자를 때 사용하는 함수
s = 'Life is too short'
s2 = s.split() # split() 메소드에 아무 인수도 전달하지 않으면 공백문자를 기준으로 각 문자열이 분리
print(s2) # ['Life', 'is', 'too', 'short']
s = '010-1234-5678'
s2 = s.split('-') # 공백대신 특정 문자열을 기준으로 분리하는 방법
print(s2) # ['010', '1234', '5678']
7) replace()
👩🏻🚀 문자열의 일부 문자열을 다른 문자열로 바꾼 결과를 반환
s = 'Life is too short'
s2 = s.replace('short', 'long')
print(s2) # Life is too long
# 특정 문자열을 제거하기 위한 용도로 사용
s = '010-1234-5678'
s2 = s.replace('-', '')
print(s2) #01012345678
8) strip()
strip() | 문자열 양옆의 공백을 제거 |
lstrip() | 문자열 왼쪽의 공백을 제거 |
rstrip() | 문자열 오른쪽의 공백을 제거 |
s = ' apple'
print(len(s)) # 10
s2 = s.lstrip()
print(s2) # apple
print(len(s2)) # 5
[ 내용 참고 : IT 학원 강의 자료 ]
'Programming Language > Python' 카테고리의 다른 글
[Python] 조건문 | 불 자료형과 if 조건문, if 응용 문제 (짝/홀수 구분) (0) | 2024.03.01 |
---|---|
[Python] method | 리스트 메소드 [요소 추가 및 제거] (0) | 2024.02.28 |
[Python] format() 함수, f-문자열, is00(), in 연산자 (1) | 2024.02.27 |
[Python] 숫자의 종류, 연산자, 변수, input(), 형변환 (1) | 2024.02.26 |
[Python] 자료형, 문자열, 문자열 연산자, 문자열 길이 함수 (0) | 2024.02.26 |