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 학원 강의 자료 ]

+ Recent posts