endswith() 메서드란?
이 튜토리얼에서는 파이썬 문자열의 endswith() 메서드에 대해 자세히 알아보겠습니다.
endswith() 메서드는 문자열이 지정된 부분 문자열(접미사)로 끝나면 True를, 그렇지 않으면 False를 반환합니다. 이 메서드는 필수 인자 1개와 선택적 인자 2개를 받습니다.
- 필수 인자: 확인하고자 하는 문자열
- 선택적 인자: 검색 범위를 지정하는 start(시작 인덱스)와 end(끝 인덱스)
기본값으로 start 인덱스는 0, end 인덱스는 문자열 길이 - 1로 설정됩니다.
기본 사용 예제
# 문자열 초기화
string = "tutorialspoint"
# 'point'로 끝나는지 확인
print(string.endswith('point'))
# 'Point'로 끝나는지 확인 (대소문자 구분)
print(string.endswith('Point'))
# 'tutorialspoint'로 끝나는지 확인
print(string.endswith('tutorialspoint'))실행 결과
위 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다.
True False True
endswith() 메서드는 대소문자를 구분하기 때문에 'Point'는 'point'와 일치하지 않아 False가 반환됩니다.
start와 end 인덱스 활용하기
start와 end 인덱스를 지정하면 endswith() 메서드는 해당 범위 사이의 문자열만 검사합니다. 단, 마지막 end 인덱스는 결과에 포함되지 않는다는 점에 유의해야 합니다. 예제를 통해 살펴보겠습니다.
# 문자열 초기화
string = "tutorialspoint"
# 인덱스 10부터 끝까지 'point'인지 확인
print(string.endswith('point', 10, len(string)))
# 인덱스 8부터 끝까지 'point'인지 확인
print(string.endswith('point', 8, len(string)))
# 인덱스 0부터 len-1까지 'tutorialspoint'인지 확인
print(string.endswith('tutorialspoint', 0, len(string) - 1))실행 결과
False True False
첫 번째 경우 인덱스 10 위치의 문자가 'o'이므로 'point'가 아니어서 False가 반환됩니다. 두 번째 경우 인덱스 8 위치가 'p'이므로 True가 반환되고, 세 번째 경우 end 인덱스로 인해 마지막 문자 't'가 검사 범위에서 제외되어 False가 반환됩니다.
마무리
endswith() 메서드는 파일 확장자 확인, URL 검사, 입력값 유효성 검증 등 다양한 실무 상황에서 유용하게 활용할 수 있습니다. 튜토리얼에 대해 궁금한 점이 있다면 댓글로 남겨주세요.