Я работаю в Python 3.7.
Предположим, у меня есть эти две функции, и я не могу изменить их код (т.е. установить аргументы по умолчанию, такие как x=None
).
def f1(x):
return x
def f2(x,y):
return x+y
Предположим, у меня есть такой класс.
class test():
def __init__(self, var1, var2 = None, func):
self.var1 = var1
self.var2 = var2
self.func = func
def apply_func(self):
return self.func(self.var1, self.var2)
Как структурировать определение класса test
так, чтобы self.var2
передавалось только тогда, когда var2 is not None
?Так, что я не получаю ошибку аргумента (слишком много аргументов), если я создаю экземпляр с атрибутом fun1
и вызываю метод apply_func
?Более того, я не хочу создавать два разных класса для каждого типа функции и только метод функции apply_func
.