0
한 개체에서 다른 개체로 메서드를 바인딩하는 동안 오류가 발생했습니다.한 개체를 다른 개체로 바인딩하는 방법
무슨 일이 벌어지고 있는지에 대한 간단한 추측 ... 내가 얻는 오류는 껍질 방법이 원래 개체에 여전히 바인딩되어 있기 때문에 발생한다고 생각합니다. 따라서 두 개의 self가 hd.bark() 함수에 삽입됩니다.
편집 :
여기 내 목표는 전략 객체를 교환 ... 내가 아는 동안 좋은 연습이 아직이가이다이 아닌 AA 데이터 로딩 전략의 '후 처리 기능'의 buissness 로직을 유지하다 공동 그렇게
bark bark bark
ruff ruff
border bark
<bound method Dog.bark of <__main__.Dog object at 0x000000004D9EC0B8>>
<unbound method Husky.bark>
<bound method Husky.bark of <__main__.Husky object at 0x00000000599616D8>>
Traceback (most recent call last):
File "<ipython-input-50-1279b42a4bd2>", line 29, in <module>
hd.bark()
TypeError: bark() takes exactly 1 argument (2 given)
달성하려는 작업이 확실하지 않습니다. 또한'borderBark'는'Husky 클래스'의 일부입니까? – sal
나는 런타임에 함수를 패치하고 코드의 다른 부분에 할당 된 메소드를 스와핑한다. 즉 이것은 동일한 기능을 사용하여 작업을 수행 할 수 있지만 사용중인 데이터를 바꿀 수 있어야합니다. – CodeMode
모양을 가져 주셔서 감사합니다 :) – CodeMode