0
Мне интересно, есть ли еще какой-нибудь пифонический вызов в func_wrap, без изменения func или func_wrap заголовка, вызвать функцию func?Python ** obj .__ dict__ equilavent command
class Foo(object):
a = 1
b = 2
class Bar(object):
c = 3
def func_wrap(foo_obj, bar_obj):
return func(a=foo_obj.a, b=foo_obj.b, c=bar_obj.c)
def func(a, b, c):
return a + b + c
Что-то больше вдоль линий:
def func_wrap(foo_obj, bar_obj):
return func(**foo_obj.__dict__ , **bar_obj.__dict__)
Можно ли передавать несколько варов, если у меня есть больше параметров, которые поступают из нескольких объектов? (отредактированный вопрос соответственно) –
@MattStokes: вы можете использовать 'func (** dict (vars (ob1), ** vars (ob2)))' для объединения двух объектов, для нескольких объектов требуется цикл, в котором вы обновляете один словарь со всеми options, * then * передать этот словарь на функцию. –