Python получает аргументы для частичных функций - PullRequest
7 голосов
/ 23 мая 2011

Я собираюсь сделать что-то похожее на то, что было задано здесь Получение списка имен параметров внутри функции python , но с использованием частичных функций. то есть. Мне нужно получить возможные аргументы для частичной функции. Я могу получить аргументы ключевого слова, используя:

my_partial_func.keywords

но сейчас я пытаюсь получить аргументы без ключевых слов. Модуль проверки также ничего не дает для этого конкретного случая. Любые предложения будут великолепны.

1 Ответ

4 голосов
/ 23 мая 2011

.args содержит аргументы, переданные частичной функции. Если вы хотите получить аргументы, ожидаемые исходной функцией, используйте решение inspect, которое вы связали с атрибутом .func.

Вы можете узнать это, вызвав dir для объекта functools.partial:

>>> dir(x)
['__call__', '__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'args', 'func', 'keywords']
...