У меня есть файл, который определяет
def foo(x):
return round(x)
Здесь round
- это функция python built-in
.
Теперь я хотел бы вызвать эту функцию с помощью numpy массив. Numpy также имеет функцию round
. К сожалению, есть проблемы (например, # 11557 )
import numpy as np
foo(7.6)
foo(np.array([7.6])) # works with python2 + np_1.14.0, not with 3.6.9 + np_1.14.5
foo(np.array([7.6, 8.9])) # TypeError: type numpy.ndarray doesn't define __round__ method
Есть ли возможность заменить функцию round
на np.round
внутри функции foo
? Какой-нибудь патч, например round = np.round
до импорта или foo.round = np.round
после импорта?
Редактировать: Я ищу решение без изменения файла.