반응형
파이썬에서 빈 객체를 정의하는 단축키가 있습니까? 아니면 항상 사용자 정의 빈 클래스의 인스턴스를 만들어야합니까?
편집 : 오리 타이핑에 사용할 수있는 빈 개체를 의미합니다.
해결 방법
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
반응형
'파이썬' 카테고리의 다른 글
파이썬 Blender 2.6 : Python을 통해 이름으로 개체 선택 (0) | 2021.01.04 |
---|---|
파이썬 Tkinter에서 파일 저장 대화 상자 (1) | 2021.01.04 |
파이썬 Python은 MySQL 준비 문을 지원합니까? (0) | 2021.01.04 |
파이썬 AttributeError : 'datetime'모듈에 'strptime'속성이 없습니다. (0) | 2021.01.04 |
파이썬 Pandas DataFrame 열 헤더에서 목록 가져 오기 (0) | 2021.01.04 |
댓글