더북(TheBook)

이제 알겠지만, 우리가 작성한 find 함수와 매우 비슷한 문자열 메서드 find가 있다.

>>> word = 'banana'

>>> index = word.find('a')

>>> index

1

이 예제에서는 word에서 find를 호출해서 찾고자 하는 문자를 인자로 전달한다.

여기서 사용한 find 메서드는 우리가 작성한 find 함수보다 더 범용적이다. 즉, 문자뿐 아니라 부분 문자열을 찾을 수 있다.

>>> word.find('na')

2

find는 문자열의 처음부터 시작하지만, 두 번째 인수에 시작할 위치를 인덱스로 받을 수 있다.

>>> word.find('na', 3)

4

두 번째 인수는 선택 인수(optional argument)라고 한다. find는 찾기를 중단할 위치를 인덱스로 지정할 수 있는 세 번째 인수도 받을 수 있다.

>>> name = 'bob'

>>> name.find('b', 1, 2)

-1

1부터 2까지 지정한 인덱스 범위에는 2는 포함되지 않으며 b가 없으므로 이 검색은 실패한다. 두 번째 인덱스를 포함하지 않고 두 번째 인덱스까지만 찾기를 하므로 find는 슬라이스 연산자가 사용하는 구문과 일관성이 있다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.