파이썬에서 isinstance는 "유형 판단"을 의미합니다. isinstance()는 객체가 알려진 유형인지 확인하는 데 사용되는 내장 함수입니다. 구문은 "isinstance(object, type)"입니다. 그렇다면 True를 반환하고, 그렇지 않으면 False를 반환합니다. 튜플이고 Object가 튜플의 유형 중 하나인 경우 이 함수도 True를 반환합니다.
이 튜토리얼의 운영 환경: windows7 시스템, python3 버전, DELL G3 컴퓨터
python에서 isinstance는 "유형 판단"을 의미합니다.
python isinstance() 함수
isinstance() 함수는 type()과 유사하게 객체가 알려진 유형인지 확인합니다.
isinstance()와 type()의 차이점:
type()은 하위 클래스를 상위 클래스 유형으로 간주하지 않으며 상속 관계를 고려하지 않습니다.
isinstance()는 하위 클래스를 상위 클래스 유형으로 간주하고 상속 관계를 고려합니다.
두 유형이 동일한지 확인하려면 isinstance()를 사용하는 것이 좋습니다.
지정된 개체에 지정된 유형이 있으면 isinstance() 함수는 True를 반환하고, 그렇지 않으면 False를 반환합니다.
유형 매개변수가 튜플인 경우, 객체가 튜플의 유형 중 하나이면 이 함수는 True를 반환합니다.
구문:
isinstance(object, type)
Parameters | Description |
---|---|
object | 필수입니다. 물체. |
type | 유형이나 클래스, 또는 유형 및/또는 클래스의 튜플입니다. |
예제 1: "Hello"가 유형 매개변수에 설명된 유형 중 하나인지 확인하세요
x = isinstance("Hello", (str, float, int, str, list, dict, tuple)) print(x)
예제 2: y가 myObj
class myObj: name = "Bill" y = myObj() x = isinstance(y, myObj) print(x)
의 인스턴스인지 확인하세요. type과 isinstance
의 차이점은 Python에서 type이 객체의 데이터 유형을 얻을 수 있다는 것이고, isinstance가 객체의 데이터 유형을 결정할 수 있다는 것입니다. 두 가지 차이점이 있습니다1 isinstance가 더 유연합니다. type은 객체 유형의 데이터를 반환할 뿐이며 isinstance는 이 객체의 데이터 유형이 여러 데이터 유형 중 하나인지 여부를 확인할 수 있습니다. 객체의 데이터 유형이 int인지 float인지 확인하려고 한다고 가정해 보겠습니다. 두 함수의 작성 예는 다음과 같습니다
a = 4 # 使用type if type(a) == int or type(a) == float: print('yes') # 使用isinstance if isinstance(a, (int, float)): print('yes')
분명히 이 시나리오에서는 isinstance가 더 많은 장점을 가지고 있습니다
2. 상속 관계의class A: pass class B(A): pass a = A() b = B() print(type(b) == A) # False print(isinstance(b, A)) # True
B는 A의 하위 클래스입니다. type(b)는 A와 같지 않은 클래스 B를 반환하지만 B는 A의 하위 클래스입니다. 따라서 b도 A의 객체라고 생각할 수 있습니다. . 이런 종류의 상속에 직면하면 관계의 경우 isinstance를 사용해야 합니다추천 학습:
Python 비디오 튜토리얼위 내용은 isinstance는 파이썬에서 무엇을 의미합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!