программная установка имен лямбда-функции - PullRequest
0 голосов
/ 22 мая 2018

У меня есть lambda функция

myfun=lambda x:2*x

, если я печатаю его имя

print(myfun)
<function <lambda> at 0x000000000E512898>

, что не очень информативно.

Если я задаю его имяявно, это работает лучше

myfun.__name__='myfun'
print(myfun)
<function myfun at 0x000000000E512898>

Учитывая, что у меня есть большой набор лямбд, как выполнить это назначение программно?

Мотивация для выполнения заключается в следующем:

Я импортирую другую функцию

from mymodule import f_many_args

В mymodule она определяется как

def f_many_args(a,b,c):

Однако в другом скрипте мне нужно вызвать эту f_many_args, установивб и в с использованием некоторых глобальных переменных.Позже мне нужно напечатать имя f_many_args, и мне нужно, чтобы оно было где-то более информативным, чем

1 Ответ

0 голосов
/ 22 мая 2018

заменить:

myfun = lambda x:2*x

на:

def myfun(x):
    """doubles the input parameter"""
    return 2 * x
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...