일부인 경우 변수를 나타내는 문자열 [ 'foo1', 'foo2', ...]이 있습니다. 본인. 이것을하기위한 Pythonic과 Compact 한 방법은 무엇입니까?목록에 존재하는 경우 변수를 자가용에서 삭제하는 Pythonic 방법
내 첫 번째 시도는
if hasattr(self, 'foo1'):
del self.foo1
if hasattr(self, 'foo2'):
del self.foo2
...
그러나 이것은 분명히 큰 목록에 대한 확장 성이 없습니다.
아무도 도와 줄 수 있습니까?
같은 당신이 원하는 것을 할 수 있습니까? – Kevin
가능한 [Python - 어떻게 동적으로 클래스에서 메서드를 제거 할 수 있습니다 - 즉 setattr의 반대편 (http://stackoverflow.com/questions/16700958/python-how-can-i-dynamically-remove-a) -method-from-a-class-ie-opposite-of) – farsil
@Kevin 초기화 된 후에 수정할 수있는 클래스가 있습니다 (초기화가 계산 상 비쌉니다). 수정 방법에 대한 특정 규칙이 있습니다.자기 자신을 삭제하는 내 동기는 클래스가 잘못 수정되어 이러한 변수/객체가 더 이상 유효하지 않은 경우 클래스의 변수/객체를 파괴하는 것이 었습니다. 아마, 나는 그 반을 부모와 자식으로 나누어야한다. – RoachLord