tuple
래퍼 클래스를 만들었습니다. 튜플은 항목 변경을 지원하지 않습니다. __setitem__
및 __delitem__
구현을 남겨 두거나 다음과 같은 메소드를 구현해야합니까? 아래 (따라서 거절 된 유증스러운 코드 냄새가 나옴)? 어떤 방법이 더 파이썬인가? 이 경우 사용자 정의 예외가 더 좋지 않습니까?Python : 사용해서는 안되는 마법 방법
def __setitem__(self, key, value):
"""
:raise: Always.
:raises: TypeError
"""
self.data_set[key] = value # Raise from tuple.
def __delitem__(self, key):
"""
:raise: Always.
:raises: TypeError
"""
raise TypeError("Item deletion is unsupported") # Custom exceptions thrown.
거절 된 Bequest에 의해 나는이 클래스가'__setitem__'과'__delitem__'을 구현한다고 주장하지만, 그 행동은 그 작업을 지원하지 않는다는 것을 보여줍니다. – JCode
AOK. 실제로 (내가 언급 한 것처럼) 목표가 항목 할당과 삭제를 지원하지 않는다면, 실제로는 이러한 방법을 구현하는 것은 의미가 없습니다. –