Скажем, у меня есть функция:функция вызова python с только необходимыми параметрами?
def omni(self, func, *args, **kwargs):
, который всегда вызывает func
.
Однако параметры func могут быть любой комбинацией вещей. Например
def func(self):
# omni should only pass in self
def func():
# omni should pass in nothing
def func(foo, key='foo'):
# omni should pass in a foo param and a key if supplied one
def func(*args, **kwargs):
# omni should pass in everything
Есть ли способ, чтобы перейти в func
из omni
только необходимые параметры? то есть возможно выше?
ex.
def foo(m):
pass
obj.omni(foo, m, a=1)
# this should call
foo(m)
def foo(self, **kwargs):
pass
obj.omni(foo, m, 1, b=2)
# this should call
foo(self, b=2)
Почему первый параметр является «самостоятельным»? Является ли это частью класса? Будет ли параметр 'func' также быть функцией-членом этого класса? – itsadok