추가 속성을 추가 할 Python 클래스가 있다고 가정합니다.Python에서 클래스 패칭
import path.MyClass
setattr(MyClass, 'foo', bar)
:
import path.MyClass
MyClass.foo = bar
과 같이 사용 무언가 사이에 어떤 차이가 있나요?
그렇지 않은 경우 사람들이 왜 첫 번째보다는 두 번째를하는 것처럼 보입니까? (. 예 여기 http://concisionandconcinnity.blogspot.com/2008/10/chaining-monkey-patches-in-python.html) (. 당신은 속성의 이름에 대한 변수를 사용할 수 있습니다 않은 setattr와)
추가 메서드로 클래스 정의를 업데이트하지 않는 이유는 무엇입니까? 클래스 정의를 편집 할 수있을 때 왜이 모든 "마술 같은"것들을합니까? –
제가이 질문을 할 때 저의 특별한 문제에서, 수업은 우리가 바꾸고 싶지 않은 도서관에서 왔습니다. 우리는 그것을 하위 클래스화할 수 없었습니다. 비록 일반적으로 동의합니다. – interstar