-3
작동하지 __delete__ :파이썬 내가이 간단한 파이썬 코드를 시도하고
class A:
def __init__(self):
self.a = { 'k' : 'kk' }
def __delete__(self, key):
del self.a[key]
이 간단한 클래스는 작동하지 않습니다.
>>> a = A()
>>> del a['k']
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'A' object does not support item deletion
그래서 어떻게 적절한 파이썬에서 항목 삭제를 구현해야합니까? 도와 줘서 고마워. del a['k']
의 동작을 달성하기 위해
'델 (자체, 키) :'이 될 무슨 뜻입니까? 질문하기 전에 작동 코드를 게시하십시오. –
''del a [x]'를 타이프 할 때 호출되는 마법 메서드 인'__delete__' 함수를 구현하려면'__delete__' 함수를 구현해야합니다. 즉'del'을'__delete__ '앞에'def '를 넣으시오. – syntonym
@ 구문 : 파이썬에는 적어도 [* descriptors *] (https://docs.python.org/2/howto/descriptor) 밖에서는 훅을 사용하지 않는'__delete__' 메서드가 없습니다. .html). ['__del__' 메소드] (https://docs.python.org/2/reference/datamodel.html#object.__del__)가 있지만 객체 자체가 메모리에서 삭제 될 때만 호출됩니다. 게시물의 '메소드'구현 *을 감안할 때, 나는 그들이 ['object .__ delitem__'] (https://docs.python.org/2/reference/datamodel.html#object.__delitem__)을 찾고 있다고 의심합니다. . –