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 등을 테스트할 수 있습니다.