В настоящее время у меня есть такая функция:
def my_func(*args):
#prints amount of arguments
print(len(args))
#prints each argument
for arg in args:
print(arg)
Я хочу передать несколько аргументов этой функции, но следующее не работает для меня.Он выдает синтаксическую ошибку на звездочке * после else.
my_func(
*(1, 2, 3, 4)
if someBool is True
else *(1, 2)
)
Обнаруженный мной обходной путь сначала ставит 1 и 2, а затем ставит 3 и 4 при проверке someBool.
my_func(
1, 2,
3 if someBool is True else None,
4 if someBool is True else None
)
Я согласен с вышесказанным, так как моя функция проверяет None, но если есть альтернатива, я бы с радостью их поблагодарил.