>백엔드 개발 >파이썬 튜토리얼 >isinstance는 파이썬에서 무엇을 의미합니까?

isinstance는 파이썬에서 무엇을 의미합니까?

青灯夜游
青灯夜游원래의
2023-01-11 14:03:249475검색

파이썬에서 isinstance는 "유형 판단"을 의미합니다. isinstance()는 객체가 알려진 유형인지 확인하는 데 사용되는 내장 함수입니다. 구문은 "isinstance(object, type)"입니다. 그렇다면 True를 반환하고, 그렇지 않으면 False를 반환합니다. 튜플이고 Object가 튜플의 유형 중 하나인 경우 이 함수도 True를 반환합니다.

isinstance는 파이썬에서 무엇을 의미합니까?

이 튜토리얼의 운영 환경: 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)

isinstance는 파이썬에서 무엇을 의미합니까?

예제 2: y가 myObj

class myObj:
  name = "Bill"

y = myObj()

x = isinstance(y, myObj)

print(x)

isinstance는 파이썬에서 무엇을 의미합니까?

의 인스턴스인지 확인하세요. 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.