Python эквивалент R ... для сопоставления аргументов функции - PullRequest
0 голосов
/ 27 мая 2020

Внутри R вы можете использовать специальный аргумент ... при определении функций, который описан здесь :

Этот аргумент будет соответствовать любым аргументам, не совпадающим иначе, и можно легко передать другим функциям. Это полезно, если вы хотите собрать аргументы для вызова другой функции, но не хотите заранее указывать их возможные имена.

Это означает, что если я напишу функцию a, которая использует другую функцию b внутри него, мне не нужно включать все возможные аргументы b в качестве аргументов a, чтобы использовать их.

В Python есть что-нибудь эквивалентное?

1 Ответ

1 голос
/ 27 мая 2020

Не существует единой конструкции, но я полагаю, что комбинация параметров * и ** делает то же самое.

def g(x, y, z):
    return x + y + z

def f(x, *args, **kwargs):
    print(x)
    print(args)
    print(kwargs)
    print(g(*args, **kwargs))

f(9, 1, 2, z=3)

производит

9
(1, 2)
{'z': 3}
6

на выходе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...