logo

Python의 type() 함수

type() 함수는 주로 디버깅 목적으로 사용됩니다. type() 함수에는 단일 인수와 세 개의 인수라는 두 가지 유형의 인수를 전달할 수 있습니다. 단일 인수 type(obj)이 전달되면 지정된 객체의 유형을 반환합니다. 세 가지 인수 유형(object, bases, dict)이 전달되면 새로운 유형 객체를 반환합니다.

Python type() 함수 구문

통사론: 유형(객체, 베이스, 사전)



매개변수:

  • 물체: 필수의. 매개변수가 하나만 지정된 경우 type() 함수는 이 객체의 유형을 반환합니다.
  • 기지 : 현재 클래스가 파생되는 클래스의 튜플입니다. 나중에는 __bases__ 속성에 해당합니다.
  • 사전: 클래스의 네임스페이스를 보유하는 사전입니다. 나중에 __dict__ 속성에 해당합니다.

반품: 새로운 유형 클래스 또는 기본적으로 메타클래스를 반환합니다.

type() 함수 작동 방식 파이썬에서?

주어진 예에서는 변수 x의 유형을 인쇄하고 있습니다. Python에서 객체의 유형을 결정합니다.



파이썬3




숫자로 알파벳



x>=> 10> print>(>type>(x))>

>

>

산출

>

Python의 type() 함수 예

type() 함수를 사용하면 Python에서 객체의 유형을 확인할 수 있습니다. 다음은 type() 함수와 관련된 몇 가지 추가 예입니다.

Python 객체의 유형 찾기

여기서는 type() 함수를 사용하여 객체 유형을 확인합니다. 파이썬 .

파이썬3




a>=> (>'Geeks'>,>'for'>,>'Geeks'>)> b>=> [>'Geeks'>,>'for'>,>'Geeks'>]> c>=> {>'Geeks'>:>1>,>'for'>:>2>,>'Geeks'>:>3>}> d>=> 'Hello World'> e>=> 10.23> f>=> 11.22> print>(>type>(a))> print>(>type>(b))> print>(>type>(c))> print>(>type>(d))> print>(>type>(e))> print>(>type>(f))>

>

>

산출

배쉬 엘리프
>

Python에서 객체 유형이 맞는지 확인하세요.

이 예에서는 조건을 사용하여 개체를 테스트하고 부울을 인쇄합니다.

파이썬3




print>(>type>([])>is> list>)> print>(>type>([])>is> not> list>)> print>(>type>(())>is> tuple>)> print>(>type>({})>is> dict>)> print>(>type>({})>is> not> list>)>

>

베이스밴드 대 광대역

>

산출

True False True True True>

조건문과 함께 type() 사용

이 예에서는 type() 함수를 사용하여 조건부 if-else 문을 사용하여 Python에서 객체의 유형을 결정합니다.

파이썬3




# Example variables> my_tuple>=> (>10>,>'Hello'>,>45>,>'Hi'>)> my_dict>=> {>1>:>'One'>,>2>:>'Two'>,>3>:>'Three'>}> # Check if the variables have the same object type> if> type>(my_tuple)>is> not> type>(my_dict):> >print>(>'The variables have different object types.'>)> else>:> >print>(>'The variables have the same object type.'>)>

>

>

산출

The variables have different object types.>

3개의 매개변수가 있는 Python type()

주어진 예에서 우리는 수업 기본 클래스와 기본 클래스에서 파생된 클래스가 없습니다. type() 함수를 사용하면 런타임에 클래스와 해당 속성을 프로그래밍 방식으로 정의할 수 있습니다.

파이썬3




# New class(has no base) class with the> # dynamic class initialization of type()> new>=> type>(>'New'>, (>object>, ),> >dict>(var1>=>'techcodeview.com'>, b>=>2009>))> # Print type() which returns class 'type'> print>(>type>(new))> print>(>vars>(new))> # Base class, incorporated> # in our new class> class> test:> >a>=> 'Geeksforgeeks'> >b>=> 2009> # Dynamically initialize Newer class> # It will derive from the base class test> newer>=> type>(>'Newer'>, (test, ),> >dict>(a>=>'Geeks'>, b>=>2018>))> print>(>type>(newer))> print>(>vars>(newer))>

>

CSS의 중앙 이미지

>

산출

{'var1': 'techcodeview.com', 'b': 2009, '__module__': '__main__', '__dict__': , '__weakref__': , '__doc__': 없음}

{'a': 'Geeks', 'b': 2018, '__module__': '__main__', '__doc__': 없음}

Python type() 함수의 응용

  • 유형( ) 함수는 기본적으로 디버깅 목적으로 사용됩니다. 웹 크롤러에서 추출한 텍스트에 .upper(), .lower() 및 .split()과 같은 다른 문자열 함수를 사용하는 경우 문자열 함수를 지원하지 않는 다른 유형일 수 있으므로 작동하지 않을 수 있습니다. 결과적으로 디버깅하기가 매우 어려운 오류가 계속 발생합니다. [GeneratorType에는 lower() 속성이 없으므로 오류를 고려하십시오].
  • 유형() 해당 시점에서 함수를 사용하여 추출된 텍스트 유형을 결정한 다음 문자열 함수나 다른 작업을 사용하기 전에 이를 다른 형식의 문자열로 변경할 수 있습니다.
  • 유형() 세 개의 인수를 사용하면 속성이 있는 클래스나 기존 클래스를 동적으로 초기화하는 데 사용할 수 있습니다. 또한 데이터베이스 테이블을 등록하는데도 사용됩니다. SQL .
  • 단위 테스트 프레임워크에서는type()>함수나 메소드의 출력을 검증하여 예상되는 데이터 유형이 반환되는지 확인하는 데 사용할 수 있습니다.