type() 및 isinstance() Python 예와 함께

type()이란 무엇입니까? Python?

Python 입력으로 제공된 변수의 클래스 유형을 찾는 데 도움이 되는 type()이라는 내장 함수가 있습니다. 예를 들어 입력이 문자열인 경우 출력은 다음과 같습니다. , 목록의 경우 , 등.

type() 명령을 사용하면 단일 인수를 전달할 수 있으며 반환 값은 주어진 인수의 클래스 유형이 됩니다(예: type(object)).

type()에 세 개의 인수(예: type(name, bases, dict))를 전달하는 것도 가능합니다. 이 경우 새로운 유형 객체가 반환됩니다.

type() 구문

type()은 아래와 같이 두 가지 방법으로 사용될 수 있습니다.

 type(object)
type(namr, bases, dict)

파라미터: 유형(객체)

  • object: 필수 매개변수입니다. 이것이 type()에 전달된 유일한 매개변수인 경우 매개변수의 유형을 반환합니다.

파라미터: 유형(이름, 베이스, 사전)

  • 이름:클래스 이름.
  • 베이스: (선택 사항). 이는 선택적 매개변수이며 기본 클래스입니다.
  • 사전: (선택 사항). 선택적 매개변수로, 클래스의 정의를 담고 있는 네임스페이스이다.

반환 값

객체가 type()에 전달된 유일한 매개변수인 경우 객체의 유형을 반환합니다.

type에 전달된 매개변수가 유형(object, bases, dict)인 경우, 이 경우 새로운 유형의 객체를 반환합니다.

유형()의 예

이 예제에서는 문자열 값, 숫자, 실수 값, 복소수, 리스트, 튜플, 사전 및 집합이 있습니다. 각 변수에 대한 출력을 보려면 type을 가진 변수를 사용합니다.

str_list = "Welcome to Guru99"
age = 50
pi = 3.14
c_num = 3j+10
my_list = ["A", "B", "C", "D"]
my_tuple = ("A", "B", "C", "D")
my_dict = {"A":"a", "B":"b", "C":"c", "D":"d"}
my_set = {'A', 'B', 'C', 'D'}

print("The type is : ",type(str_list))
print("The type is : ",type(age))
print("The type is : ",type(pi))
print("The type is : ",type(c_num))
print("The type is : ",type(my_list))
print("The type is : ",type(my_tuple))
print("The type is : ",type(my_dict))
print("The type is : ",type(my_set))

출력:

The type is :<class 'str'>
The type is :<class 'int'>
The type is :<class 'float'>
The type is :<class 'complex'>
The type is :<class 'list'>
The type is :<class 'tuple'>
The type is :<class 'dict'>
The type is :<class 'set'>

예: 클래스 객체에 type() 사용.

type()을 사용하여 클래스에서 생성된 객체를 확인하면 클래스 이름과 함께 클래스 유형이 반환됩니다. 이번 예제에서는 클래스를 생성하고, 클래스 테스트를 통해 생성된 객체 타입을 확인해 보겠습니다.

class test:
    s = 'testing'

t = test()
print(type(t))

출력:

<class '__main__.test'>

예: type()에서 이름, 베이스 및 사전 사용

유형은 type(name, bases, dict) 구문을 사용하여 호출할 수도 있습니다.

type()ie, name, bases 및 dict에 전달된 세 가지 매개 변수는 클래스 정의를 구성하는 구성 요소입니다. 이름은 클래스 이름을 나타내고, bases는 기본 클래스, dict는 기본 클래스 속성의 사전입니다.

이 예에서는 type()의 세 가지 매개변수(name, bases 및 dict)를 모두 활용하겠습니다.

예:

class MyClass:
  x = 'Hello World'
  y = 50

t1 = type('NewClass', (MyClass,), dict(x='Hello World', y=50))
print(type(t1))
print(vars(t1))

출력:

<class 'type'>
{'x': 'Hello World', 'y': 50, '__module__': '__main__', '__doc__': None}

세 가지 인수를 모두 type() 에 전달하면 기본 클래스 속성으로 새 클래스를 초기화하는 데 도움이 됩니다.

isinstance()는 무엇입니까? Python?

Python isinstance는 다음의 일부입니다. 파이썬 내장 함수. Python isinstance()는 두 개의 인수를 취하고, 첫 번째 인수가 두 번째 인수로 제공된 classinfo의 인스턴스이면 true를 반환합니다.

구문 isinstance()

isinstance(object, classtype)

파라미터

  • object: classtype과 비교하는 인스턴스의 객체입니다. 유형이 일치하면 true를 반환하고 그렇지 않으면 false를 반환합니다.
  • 클래스 유형(class type): 유형이나 클래스 또는 유형 및/또는 클래스의 튜플입니다.

반환 값

객체가 classtype의 인스턴스이면 true를 반환하고 그렇지 않으면 false를 반환합니다.

isinstance()의 예

이번 섹션에서는 isinstance()를 배우기 위한 다양한 예제를 공부하겠습니다.

예 : isinstance() 정수 검사

아래 코드는 정수 값 51을 int 유형과 비교합니다. 51의 유형이 int와 일치하면 true를 반환하고 그렇지 않으면 false를 반환합니다.

age = isinstance(51,int)
print("age is an integer:", age)

출력:

age is an integer: True

예 : isinstance() 부동 소수점 검사

이 예에서는 float 값을 float 유형과 비교할 것입니다. 즉 3.14 값은 float 유형과 비교됩니다.

pi = isinstance(3.14,float)
print("pi is a float:", pi)

출력:

pi is a float: True

예: isinstance() 문자열 검사

message = isinstance("Hello World",str)
print("message is a string:", message)

출력:

message is a string: True

예 : isinstance() 튜플 확인

코드는 tuple 유형의 튜플(1,2,3,4,5)을 확인합니다. 주어진 입력이 튜플 유형이면 true를 반환하고 그렇지 않으면 false를 반환합니다.

my_tuple = isinstance((1,2,3,4,5),tuple)
print("my_tuple is a tuple:", my_tuple)

출력:

my_tuple is a tuple: True

예 : isinstance() 세트 확인

코드는 유형이 설정된 세트({1,2,3,4,5})를 확인합니다. 제공된 입력이 유형 세트이면 true를 반환하고 그렇지 않으면 false를 반환합니다.

my_set = isinstance({1,2,3,4,5},set)
print("my_set is a set:", my_set)

출력:

my_set is a set: True

예: isinstance() 목록 확인

코드는 목록 유형이 있는 목록 [1,2,3,4,5]를 확인합니다. 주어진 입력이 목록 유형이면 true를 반환하고 그렇지 않으면 false를 반환합니다.

my_list = isinstance([1,2,3,4,5],list)
print("my_list is a list:", my_list)

출력:

my_list is a list: True

예: isinstance() dict 확인

이 코드는 dict 유형을 사용하여 dict({“A”:”a”, “B”:”b”, “C”:”c”, “D”:”d”}를 확인합니다. 다음 경우 true를 반환합니다. 주어진 입력은 dict 유형이고 그렇지 않은 경우 false입니다.

my_dict = isinstance({"A":"a", "B":"b", "C":"c", "D":"d"},dict)
print("my_dict is a dict:", my_dict)

출력:

my_dict is a dict: True

예: 클래스에 대한 isinstance() 테스트

이 코드는 isinstance()를 사용한 클래스의 유형 검사를 보여줍니다. 클래스의 객체는 isinstance() 내부의 클래스 이름과 비교됩니다. 객체가 클래스에 속하면 true를 반환하고 그렇지 않으면 false를 반환합니다.

class MyClass:
    _message = "Hello World"

_class = MyClass()

print("_class is a instance of MyClass() : ", isinstance(_class,MyClass))

출력:

_class is a instance of MyClass() True

type()과 isinstance()의 차이점 Python

유형() 인스턴스()
Python 입력으로 제공된 변수의 클래스 유형을 찾는 데 도움이 되는 type()이라는 내장 함수가 있습니다. Python isinstance()라는 내장 함수가 있는데, 이 함수는 값을 주어진 유형과 비교합니다. 주어진 값과 유형이 일치하면 true를 반환하고 그렇지 않으면 false를 반환합니다.
반환 값은 유형 객체입니다. 반환 값은 부울, 즉 true 또는 false입니다.
class A:
my_listA = [1,2,3]

class B(A):
my_listB = [1,2,3]

print(type(A()) == A)
print(type(B()) == A)

출력:

True
False

유형의 경우 하위 클래스 검사는 false를 반환합니다.

class A:
my_listA = [1,2,3]

class B(A):
my_listB = [1,2,3]

print(isinstance(A(), A))
print(isinstance(B(), A))

출력:

True
True

isinstance()는 하위 클래스로 검사할 때 진실한 값을 제공합니다.

요약

  • Python 입력으로 제공된 변수의 클래스 유형을 찾는 데 도움이 되는 type()이라는 내장 함수가 있습니다. 예를 들어 입력이 문자열인 경우 출력은 다음과 같습니다. , 목록의 경우 , 등.
  • type()의 경우 단일 인수를 전달할 수 있으며 반환 값은 주어진 인수의 클래스 유형(예: type(object))이 됩니다.
  • type()에 세 개의 인수(예: type(name, bases, dict))를 전달하는 것도 가능합니다. 이 경우 새로운 유형 객체가 반환됩니다.
  • Python instance()라는 내장 함수가 있는데, 이 함수는 값을 주어진 유형과 비교합니다. 주어진 값과 유형이 일치하면 true를 반환하고 그렇지 않으면 false를 반환합니다. isinstance()를 사용하면 문자열, 부동 소수점, 정수, 목록, 튜플, 사전, 집합, 클래스 등을 테스트할 수 있습니다.
  • isinstance() 메서드를 사용하면 string, float, int, list, tuple, dict, set, class 등을 테스트할 수 있습니다.