파이썬에서 Isinstance는 무엇이며 어떻게 구현합니까?



이 기사에서는 Python의 Isinstance 메서드를 소개하고 데모와 함께 철저한 개념 설명을 제공합니다.

오늘날 시장에서 사용 가능한 가장 강력한 프로그래밍 언어 중 하나입니다. Python은 또한 Java, C 및 C ++와 같은 생태계 내에서 다른 프로그래밍 언어의 구현을 지원합니다. Python 생태계에서 사용할 수있는 많은 모듈과 함수 중 나머지 중에서 눈에 띄는 것은 Python의 isinstance입니다. 따라서이 기사에서는 isinstance, 그 용도 및 테이블에 제공하는 기능에 대해 자세히 설명합니다.

double에서 int로 변환

이 기사에서는 다음 사항을 다룰 것입니다.





의 시작하자!

파이썬에서 Isinstance는 무엇입니까?

Python isinstance는 인수 인 첫 번째 객체가 두 번째 인수 인 classinfo 클래스의 인스턴스 또는 하위 클래스인지 확인하는 데 사용됩니다.



파이썬에서 isinstance의 구문은 다음과 같습니다.

isinstance (객체, 클래스 정보)

Python의 Isinstance에 어떤 매개 변수와 반환 값이 있는지 살펴 보겠습니다.



Isinstance의 매개 변수 및 반환 값

매개 변수

이제 isinstance의 구문을 알고 있으므로 고려하는 매개 변수를 자세히 살펴 보겠습니다.

  1. 개체 : 확인해야 할 개체입니다.
  2. Classinfo : 객체를 검사해야하는 클래스, 정보 또는 클래스의 튜플입니다.

반환 값

isinstance가 프로그램에서 사용되는 경우, 반환 값은 아래 포인터에 설명 된대로 여러 조건에 따라 달라집니다.

  1. 객체가 classinfo의 하위 클래스 또는 클래스 튜플이면 True가 반환됩니다.
  2. 객체가 classinfo의 하위 클래스 또는 클래스 튜플이 아닌 경우 False가 반환됩니다.

특정 상황에서 classinfo가 유형이나 유형의 튜플이 아닌 경우 사용자 화면에 typeerror 예외가 발생합니다.

isinstance의 사용을 더 잘 이해하기 위해 몇 가지 예를 살펴 보겠습니다.

예 1

class Foo : a = 5 fooInstance = Foo () print (isinstance (fooInstance, Foo)) print (isinstance (fooInstance, (list, tuple))) print (isinstance (fooInstance, (list, tuple, Foo)))

산출

진실

그릇된

진실

Python의 Isinstance : 예제 # 2

숫자 = [1, 2, 3] result = isinstance (numbers, list) print (numbers, 'instance of list?', result) result = isinstance (numbers, dict) print (numbers, 'instance of dict?', result ) result = isinstance (numbers, (dict, list)) print (numbers, 'instance of dict or list?', result) number = 5 result = isinstance (number, list) print (number, 'instance of list?', 결과) 결과 = isinstance (number, int) print (number, 'instance of int?', result)

산출

[1, 2, 3] 목록의 인스턴스? 진실

[1, 2, 3] dict의 인스턴스? 그릇된

[1, 2, 3] dict 또는 list의 인스턴스? 진실

목록의 5 인스턴스? 그릇된

int의 5 인스턴스? 진실

예 # 3

자바에서 종료하는 방법
# isinstance () 클래스 테스트를위한 파이썬 코드 : a = 5 TestInstance = Test () print (isinstance (TestInstance, Test)) print (isinstance (TestInstance, (list, tuple))) print (isinstance (TestInstance, (list, tuple) , 테스트)))

산출

진실

그릇된

진실

'Isinstance In Python'기사를 계속 진행하고 Type 메서드의 사용을 이해하겠습니다.

Python에서 유형 사용

isinstance와 유사하게, 런타임 중에 사용되는 유형 pf 변수를 확인하는 데 사용되는 Python의 또 다른 내장 메소드가 있습니다. 단일 인수 또는 개체가 type 메서드를 통해 전달되면 런타임 중에 사용되는 개체의 유형을 반환합니다.

이를 더 잘 이해하려면 아래 예제를 살펴보십시오.

Isinstance In Python : 예제 # 1.1

# 단일 객체 매개 변수가있는 Python 코드 type () x = 5 s = 'sampleoutput'y = [1,2,3] print (type (x)) print (type (s)) print (type (y))

산출

클래스‘int’

클래스‘str’

클래스‘목록’

예제 # 1.2

# name, # bases 및 dict 매개 변수가있는 type ()에 대한 Python 코드 o1 = type ( 'X', (object,), dict (a = 'Foo', b = 12)) print (type (o1)) print (vars (o1)) 클래스 테스트 : a = 'Foo'b = 12 o2 = type ( 'Y', (test,), dict (a = 'Foo', b = 12)) print (type (o2)) 인쇄 (vars (o2))

산출

{‘b’: 12,‘a’:‘Foo’,‘__dict__’:,‘__doc__’: 없음,‘__weakref__’:}

{‘b’: 12,‘a’:‘Foo’,‘__doc__’: 없음}

Python에서 Type과 Isinstance를 비교해 보겠습니다.

Type ()과 Isinstance의 차이점

Python의 유형 및 isinstance는 두 가지 매우 다른 기능을 제공합니다. 차이점을 더 잘 이해하려면 아래 포인터를 살펴보십시오.

  1. 객체에 특정 유형이 있는지 확인해야하는 경우 isinstance를 사용하는 것이 가장 좋습니다. isinstance가 첫 번째 인수로 전달 된 객체가 두 번째 인수로 전달 된 것과 동일한 유형인지 확인할 수 있기 때문입니다.
  2. 반면에 특정 객체의 유형을 단순히 확인하고 다른 객체와 비교하지 않고 확인해야하는 경우 유형을 사용하는 것이 더 선호됩니다.

# 오리 타이핑을 설명하는 Python 코드 class User (object) : def __init __ (self, firstname) : self.firstname = firstname @property def name (self) : return self.firstname class Animal (object) : pass class Fox (Animal) : name = 'Fox'class Bear (Animal) : name = 'Bear'# [User ( 'SampleOutput'), Fox (), Bear ()]의 a에 대한 유형에 관계없이 .name 속성 (또는 속성) 사용 : print (a.name)

산출

iOS 개발자 란?

샘플 출력

여우

type 메서드를 사용하지 않는 또 다른 이유는 상속이 부족하기 때문입니다. 이를 더 잘 이해하려면 아래 공유 된 예제를 살펴보십시오.

#type () class MyDict (dict) : '' 'A normal dict, that is always created with an'initial 'key' ''def __init __ (self) : self [ 'initial'] = 'some data'd = MyDict () print (type (d) == dict) print (type (d) == MyDict) d = dict () print (type (d) == dict) print (type (d) == MyDict)

산출

그릇된

진실

진실

그릇된

이게 다들이 기사의 끝으로 이동합니다. 파이썬의 Isinstance와 그 기능을 이해 하셨기를 바랍니다.

다양한 애플리케이션과 함께 Python에 대한 심층적 인 지식을 얻으려면 다음을 수행 할 수 있습니다. 연중 무휴 지원 및 평생 액세스가 가능한 라이브 온라인 교육.

질문이 있으십니까? 이 기사의 댓글 섹션에서 언급하시면 다시 연락 드리겠습니다.