Python 객체로 작업할 때 해당 객체의 유형 또는 객체인지 여부를 결정해야 하는 경우가 많습니다. 특정 클래스에 속합니다. Python은 이 작업에 일반적으로 사용되는 두 가지 메서드인 type()과 isinstance()를 제공합니다. 이 기사에서는 이 두 함수의 차이점을 살펴보고 해당 응용 프로그램에 대해 논의합니다.
type() 함수는 객체의 유형을 유형 객체로 반환합니다. 유형 객체는 해당 유형의 인스턴스가 아닌 값의 유형을 나타냅니다. 객체가 특정 유형인지 확인하기 위해 객체 유형을 원하는 유형을 나타내는 유형 객체와 비교합니다.
예:
a = 1 b = "Hello" print(type(a)) # <class 'int'> print(type(b)) # <class 'str'>
이 경우 다음을 입력합니다. (a)는 int 클래스를 나타내는 유형 객체를 반환하고, type(b)는 str 클래스를 나타내는 유형 객체를 반환합니다.
isinstance() 함수는 객체가 특정 클래스의 인스턴스인지 아니면 해당 클래스의 하위 클래스인지 확인합니다. 첫 번째 인수로 객체를 사용하고 두 번째 인수로 클래스 또는 클래스 튜플을 사용합니다. isinstance()는 객체가 지정된 클래스 또는 하위 클래스의 인스턴스이면 True를 반환하고 그렇지 않으면 False를 반환합니다.
다음 예를 고려하세요.
a = 1 b = [1, 2, 3] print(isinstance(a, int)) # True print(isinstance(b, list)) # True
이 예에서는 isinstance(a, int )는 a가 int 클래스의 인스턴스이기 때문에 True를 반환합니다. 마찬가지로 isinstance(b, list)는 b가 목록 클래스의 인스턴스이기 때문에 True를 반환합니다.
type()과 isinstance()의 주요 차이점은 type()입니다. isinstance()는 상속 관계를 확인하는 반면 객체 유형이 동일한지 확인합니다. isinstance()는 상속을 고려합니다. 즉, 특정 클래스에서 상속되는 객체도 해당 클래스의 인스턴스로 간주됩니다. 반면에 type()은 유형 동등성을 엄격하게 확인하고 상속을 고려하지 않습니다.
일반적으로 관심이 있다면 isinstance()를 사용하는 것이 좋습니다. 객체가 특정 클래스인지 아니면 하위 클래스 중 하나인지를 결정하는 데 사용됩니다. 이는 복잡한 객체 계층을 처리할 때 특히 유용합니다.
상속을 고려하지 않는 간단한 유형 검사의 경우 type()을 더 빠른 대안으로 사용할 수 있습니다.
위 내용은 Python type() 대 isinstance(): 언제 어느 것을 사용해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!