def attrs(**kwds):
def decorate(f):
for k in kwds:
setattr(f, k, kwds[k])
return f
return decorate
@attrs(argument_types=(int, int,), returns=int)
def add(a, b):
return a + b
Здесь мне нужно, чтобы add() мог показывать свой приемлемый тип параметра. но могу ли я сделать что-то подобное во время выполнения?
ladd=[]
for x in range(0,10):
@attrs(argument_types=int, returns=int,default_parameter1 = x)
exp = lambda : add(a,x)
ladd.append(exp)
или
ladd=[]
for x in range(0,10):
@attrs(argument_types=int, returns=int,default_parameter1 = x)
addx = functools.partial(add, 2)
ladd.append(addx)
Мне нужна эта функция, которая может быть сгенерирована во время выполнения с параметром "decoratored", связать либо
Спасибо за любой намек.
Rgs,
KC
ну, вот информация об ошибке, я думаю, что выше код не может работать, тогда я никогда не пытаюсь вставить в python, чтобы проверить его...
>>> ladd=[]
>>> for x in range(0,10):
... @attrs(argument_types=int, returns=int,default_parameter1 = x)
... exp = lambda : add(a,x)
File "<stdin>", line 3
exp = lambda : add(a,x)
^
SyntaxError: invalid syntax
>>> ladd.append(exp)
File "<stdin>", line 1
ladd.append(exp)
^
IndentationError: unexpected indent
>>>