더북(TheBook)

find() 함수와 index() 함수는 기능이 비슷하지만, 찾는 문자가 문자열 안에 없는 경우에는 결과가 다르게 나옵니다. 문자열에 찾는 문자가 없을 때 find() 함수는 -1을 반환한 후 다음 문장을 실행합니다. 반면에 index() 함수는 오류(ValueError: substring not found, 문자열을 발견하지 못함)가 발생하면서 이후 문장을 수행하지 않고 프로그램을 종료합니다. 다음 코드를 봅시다.

python = "Python is Amazing"

find = python.find("n") # 처음 발견한 n의 인덱스
print(find) # 'Python'에서 n(인덱스 5)
find = python.find("n", find + 1) # 인덱스 6 이후부터 찾아 처음 발견한 n의 인덱스
print(find) # ' is Amazing'에서 n(인덱스 15)
find = python.find("Java") # Java가 없으면 -1을 반환(출력)한 후 프로그램 계속 수행
print(find)

index = python.index("n") # 처음 발견한 n의 인덱스
print(index) # 'Python'에서 n
index = python.index("n", index + 1) # 인덱스 6 이후부터 찾아 처음 발견한 n의 인덱스
print(index) # ' is Amazing'에서 n
index = python.index("n", 2, 6) # 인덱스 2부터 6 직전까지 찾아 처음 발견한 n의 인덱스
print(index) # 'thon'에서 n(인덱스 5)
index = python.index("Java") # Java가 없으면 오류가 발생하며 프로그램 종료
print(index)

실행결과 icon_con

5
15
-1
5
15
5
ValueError: substring not found
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.