У меня есть сценарий, который импортирует модуль, у которого есть функция, которую я хочу немного изменить. Допустим, модуль имеет функции разделить и run_program:Как обращаться с небольшим изменением метода от установленного модуля?
def _divide(var):
return 1/var
run_program(x):
do some stuff
_divide(x)
do more stuff
Вместо этого, я хочу, чтобы это сделать
def divide(var):
if var == 0:
var = 1e-131
return 1/var
run_program(x):
do some stuff
_divide(x)
do more stuff
Я теперь изменил функцию в модуле. Однако, если я хочу запустить программу где-то в другом месте, мне также нужно изменить модуль. Поскольку функция, которую я хочу изменить, вызывается из модуля, я не могу ее перезаписать (насколько я знаю). Могу ли я изменить функцию из своего сценария, чтобы мне не пришлось менять установленный модуль?
Edit: Модуль https://pypi.python.org/pypi/dirichlet/0.7 функция:
def _init_a(D):
'''Initial guess for Dirichlet alpha parameters given data D'''
E = D.mean(axis=0)
E2 = (D**2).mean(axis=0)
return ((E[0] - E2[0])/(E2[0]-E[0]**2)) * E
Не могли бы вы рассказать об этом? – Vivek
@Vivek: Разработайте, что именно? –
Я имею в виду, его практическое использование и как это обрабатывается внутри python. – Vivek