본문 바로가기
파이썬

파이썬 Python에서 빈 개체 만들기

by º기록 2021. 1. 4.
반응형

파이썬에서 빈 객체를 정의하는 단축키가 있습니까? 아니면 항상 사용자 정의 빈 클래스의 인스턴스를 만들어야합니까?

편집 : 오리 타이핑에 사용할 수있는 빈 개체를 의미합니다.

 

해결 방법

 

type을 사용하여 즉석에서 새 클래스를 만든 다음 인스턴스화 할 수 있습니다. 이렇게 :

>>> t = type('test', (object,), {})()
>>> t
<__main__.test at 0xb615930c>

유형에 대한 인수는 클래스 이름, 기본 클래스의 튜플 및 개체의 사전입니다. 함수 (객체의 메서드) 또는 속성을 포함 할 수 있습니다.

실제로 첫 번째 줄을 줄여서

>>> t = type('test', (), {})()
>>> t.__class__.__bases__
(object,)

기본적으로 type은 object에서 상속하는 새로운 스타일 클래스를 생성하기 때문입니다.


그러나 객체의 인스턴스를 만들고 싶다면. 그런 다음 인스턴스를 만듭니다. lejlot이 제안한 것처럼.

이와 같은 새 클래스의 인스턴스를 만드는 데 유용 할 수있는 중요한 차이점이 있습니다.

>>> a = object()
>>> a.whoops = 1
Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
AttributeError: 'object' object has no attribute 'whoops'

어디에 :

>>> b = type('', (), {})()
>>> b.this_works = 'cool'
>>> 

 

참조 페이지 https://stackoverflow.com/questions/19476816

 

 

반응형

댓글