5
표준 numpy 배열과 상호 운용 될 수있는 배열과 유사한 객체를 구현하고 있습니다.왼쪽 바이너리 연산자에 대한 numpy 강제 문제
class MyArray(object):
def __rmul__(self, other):
return MyArray() # value not important for current purpose
from numpy import array
print array([1,2,3]) * MyArray()
이 다음과 같은 출력 산출 : 난 그냥 다음에 좁혀 성가신 문제 명중 오히려 내가 기대했던대로 MyArray().__rmul__(array([1,2,3]))
를 호출하는 것보다 분명히
[<__main__.MyArray instance at 0x91903ec>
<__main__.MyArray instance at 0x919038c>
<__main__.MyArray instance at 0x919042c>]
을, __rmul__
는 모든 개별 호출됩니다 배열의 요소 및 결과를 객체 배열에 래핑합니다. 이것은 파이썬의 coercion rules과 호환되지 않는 것으로 보인다. 더 중요한 것은, 그것은 내 왼쪽 곱셈이 쓸모없는 렌더링합니다.
아무도이 문제를 해결할 방법을 알고 있습니까?