파이썬의 type()이란 무엇인가?
파이썬에는 입력으로 주어진 변수의 클래스 유형을 찾는데 도움이 되는 type()이라는 내장함수가 있습니다.
예를 들어 입력이 문자열이라면 <class 'str'>이라고 출력이 되고, 리스트인 경우에는 <class 'list'>라고 출력됩니다.
type() 명령을 사용하면 단일 인수를 전달 할 수 있으며, 반환 값은 주어진 인수의 클래스 유형이 됩니다. (예: type(object))
type()에 세개의 인수, 즉 type(name, bases, dict)를 전달할 수도 있습니다. 이 경우 새 유형 객체를 반환 합니다.
목차
type() 구문
type(object)
type(name, bases, dict)
매개변수 : type(object)
- object : 피리수 매개변수로 type()에 전달된 매개변수일 경우 매개변수의 유형을 반환 합니다.
매개변수 : type(name, bases, dict)
- name : 클래스의 이름
- bases : (선택사항) 이것은 선택적 매개변수이며 기본 클래스 입니다.
- dict : (선택사항) 이것은 선택적 매개변수이며 클래스의 정의가 잇는 네임스페이스입니다.
반환값 :
객체가 type()에 전달된 유일한 매개변수 인 경우 객체의 유형을 반환 합니다.
type()에 전달된 매개변수가 type(name, bases, dict)인 경우 새로운 유형의 객체를 반환 합니다.
type()의 예
이 예제에는 문자열 값, 숫자, 부동 소수점 값, 복소수, 리스트, 튜플, 딕셔너리 및 집합이 있습니다. 각 변수에 대한 출력을 보기 우해 유형이 잇는 변수를 사용 합니다.
str_list = "Welcome to Entity01"
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()에서 name, bases, dict 사용하기 예제
type(name, bases, dict) 구문을 사용하여 유형을 호출할 수도 있습니다.
type(), 즉 naem, bases 및 dict에 전달된 세 개의 매개변수는 클래스 정의를 구성하는 구성 요소 입니다.
name은 클래스의 이름을 나타내고, 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 isinstance는 Python 내장 함수의 일부입니다. Python isinstance()는 두 개의 인수를 취하며 첫 번째 인수가 두 번째 인수로 제공된 classinfo의 인스턴스이면 true를 반환합니다.
isinstance() 구문
isinstance(object, class type)
매개변수
- object: 인스턴스를 classtype과 비교하는 개체입니다. 유형이 일치하면 true를 반환하고 그렇지 않으면 false를 반환합니다.
- class type: 유형 또는 클래스 또는 유형 및/또는 클래스의 튜플.
반환 값
객체가 class type의 인스턴스이면 true를 반환하고 그렇지 않으면 false를 반환합니다.
isinstance()의 예
isinstance() 정수 검사
아래 코드는 정수 값 51을 int 유형과 비교합니다. 51의 유형이 int와 일치하면 true를 반환하고 그렇지 않으면 false를 반환합니다.
age = isinstance(51,int)
print("나이는 정수입니다:", age)
출력:
나이는 정수입니다: True
isinstance() 부동 소수점(float) 검사
이 예제에서는 float 값을 float 유형과 비교할 것입니다. 즉, 3.14 값은 float 유형과 비교됩니다.
pi = isinstance(3.14,float)
print("pi는 float :", pi)
출력:
pi는 float : True
isinstance() 문자열(String) 검사
message = isinstance("Hello World",str)
print("message is a string:", message)
출력 :
message is a string: True
isinstance() 튜플 검사
코드는 튜플 유형의 튜플(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() 집합(set) 확인
코드는 집합(유형이 설정된 {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() list 확인
코드는 유형이 리스트인 리스트 [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({"A":"a", "B":"b", "C":"c", "D":"d"}, dict 유형을 확인합니다. 다음과 같은 경우 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()의 차이점
type() | isinstance() |
파이썬에는 입력으로 주어진 변수의 클래스 유형을 찾는 데 도움이 되는 type()이라는 내장 함수가 있습니다. | 파이썬에는 값을 주어진 유형과 비교하는 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) |
class A: my_listA = [1,2,3] class B(A): my_listB = [1,2,3] print(isinstance(A(), A)) print(isinstance(B(), A)) |
출력 : | 출력 : |
True False |
True True |
type의 경우 하위 클래스 검사는 false를 반환합니다. | isinstance()는 하위 클래스로 확인할 때 진실한 값을 제공합니다. |
요약 :
- 파이썬에는 입력으로 주어진 변수의 클래스 유형을 찾는 데 도움이 되는 type()이라는 내장 함수가 있습니다. 예를 들어 입력이 문자열이면 출력은 <class 'str'>, 목록의 경우 <class 'list'> 등이 됩니다.
- type()의 경우 단일 인수를 전달할 수 있으며 반환 값은 주어진 인수의 클래스 유형(예: type(object))이 됩니다.
- type()에 세 개의 인수, 즉 type(name, bases, dict)를 전달할 수도 있습니다. 이 경우 새 유형 객체를 반환합니다.
- 파이썬에는 주어진 유형과 값을 비교하는 instance()라는 내장 함수가 있습니다. 주어진 값과 유형이 일치하면 true를 반환하고 그렇지 않으면 false를 반환합니다. isinstance()를 사용하여 string, float, int, list, tuple, dict, set, class 등을 테스트할 수 있습니다.
- isinstance() 메서드를 사용하여 string, float, int, list, tuple, dict, set, class 등을 테스트할 수 있습니다.
'초보자를 위한 Python > 5. Python 함수' 카테고리의 다른 글
5.16 파이썬 타이머(Timer) 함수 : 경과시간 측정하기 예제 (0) | 2022.11.07 |
---|---|
5.15 파이썬에서 줄바꿈 없이 출력(print) 하는법 (0) | 2022.11.04 |
5.13 파이썬 time.sleep() : 코드 진행의 지연 (예제) (0) | 2022.11.02 |
5.12 파이썬의 Enumerate() 함수: 루프, 튜플, 문자열 (0) | 2022.11.01 |
5.11 파이썬 컬렉션의 카운터(Counter) (0) | 2022.10.27 |
댓글