Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

파이썬 유형 객체

<시간/>

파이썬의 모든 것은 클래스를 포함한 객체입니다. 모든 클래스는 "유형"이라는 클래스의 인스턴스입니다. 유형 개체는 유형 클래스의 인스턴스이기도 합니다. 클래스 객체의 __bases__ 속성을 검사하여 클래스의 상속 계층을 검사할 수 있습니다. type() 메소드는 매개변수로 전달된 인수(객체)의 클래스 유형을 반환합니다. 단일 인수 유형(obj)이 유형 메소드에 전달되면 지정된 객체의 유형을 반환합니다. 세 개의 인수 type(name, bases, dict)이 전달되면 새 유형 개체를 반환합니다.

유형() 사용

가장 많이 사용되는 데이터 유형에 대한 클래스를 살펴보겠습니다. 아래 프로그램에서 일부 변수를 초기화한 다음 type()을 사용하여 해당 클래스를 확인합니다.

예시

# Some variables
a = 5
b = 5.2
c = 'hello'
A = [1,4,7]
B = {'k1':'Sun','K2':"Mon",'K3':'Tue'}
C = ('Sky','Blue','Vast')
print(type(a))
print(type(b))
print(type(c))

print(type(A))
print(type(B))
print(type(C))

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

<class 'int'>
<class 'float'>
<class 'str'>
<class 'list'>
<class 'dict'>
<class 'tuple'>

클래스 유형

위의 클래스 유형을 자세히 살펴보면 모두 'type'이라는 클래스에 속해 있음을 알 수 있습니다.

예시

print(type(int))
print(type(dict))
print(type(list))

print(type(type))

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

<class 'type'>
<class 'type'>
<class 'type'>
<class 'type'>

새 개체 유형 만들기

또한 위와 유사한 접근 방식을 사용하여 새 객체를 생성할 수 있습니다. 여기에서 새 유형 개체를 만들기 위해 세 개의 매개변수를 전달합니다.

예시

Object1 = type('A', (object,), dict(a='Hello', b=5))
print(type(Object1))
print(vars(Object1))
class NewCalss:
   a = 'Good day!'
   b = 7
Object2 = type('B', (NewCalss,), dict(a='Hello', b=5))
print(type(Object2))
print(vars(Object2))

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

<class 'type'>
{'a': 'Hello', 'b': 5, '__module__': '__main__', '__dict__': <attribute '__dict__' of 'A' objects>, '__weakref__': <attribute '__weakref__' of 'A' objects>, '__doc__': None}
<class 'type'>
{'a': 'Hello', 'b': 5, '__module__': '__main__', '__doc__': None}