Ответы на Выбор функции случайным образом говорят нам, как выбрать и вызвать случайную функцию из списка, используя random.choice
.
Но что, если функции в списке принимают разные атрибуты? Как мы вызываем функцию с соответствующими атрибутами?
Пример:
from random import choice
def fun_1():
...
def fun_2(x: int):
...
def fun_3(y: bool):
...
my_integer = 8
my_boolean = True
random_function_selector = [fun_1, fun_2, fun_3]
print(choice(random_function_selector)(???))
Функция fun_1
не принимает атрибутов. Всякий раз, когда выбирается fun_2
, я хочу вызвать его с помощью my_integer
, а всякий раз, когда выбирается fun_3
, я хочу вызывать его с my_boolean
.
Что поставить в скобках в последней строке?
Нужно ли полагаться на операторы if
, чтобы проверить, какая случайная функция была выбрана, и выбрать соответствующий атрибут на основе этого ? Или есть ярлык?