Python의 __contains__ 메서드
Hemank Mehtani
2023년10월10일
Python __contains__
는 Python의 String 클래스 메서드입니다. 주어진 하위 문자열이 문자열의 일부인지 여부를 확인할 수 있습니다.
마법의 방법입니다. 이러한 메서드는 명시적으로 호출되지 않으며 다른 내장 작업의 일부로 호출됩니다. 이 경우 __contains__
메서드는 in
연산자와 연결됩니다.
__contains__
함수는 in
연산자의 오른쪽에서 인스턴스가 어떻게 동작하는지 정의합니다. in
연산자는 주어진 값이 시퀀스에 있는지 여부를 확인합니다.
예를 들어,
str1 = "Delftstack"
str2 = "Del"
val = str1.__contains__(str2)
print(val)
출력:
True
위의 예에서 우리는 __contains__
메소드를 사용하여 주어진 부분 문자열이 문자열에 존재하는지 여부를 확인했습니다.
마법의 메서드는 클래스 내부에서 호출됩니다. 클래스에서 __contains__
메서드를 사용할 수 있습니다. 이 메서드는 어떤 작업을 수행하기 위해 이를 호출합니다.
클래스와 연결될 때 다른 값을 반환하도록 오버로드할 수 있습니다.
예를 들어,
class abc(object):
name = "Delftstack"
def __contains__(self, m):
if self.name:
return False
b = abc()
print("stack" in b)
출력:
False
위의 예에서 하위 문자열이 문자열에 있으면 __contains__
메서드가 False를 반환하도록 합니다. in
연산자를 사용할 때 호출되므로 Delftstack
에 stack
문자열이 있어도 최종 출력은 False입니다.