Страницы

Поиск по вопросам

пятница, 13 декабря 2019 г.

Как узнать количество аргументов, передающихся функции?

#python


Например у меня есть код
def one(x, y = 0, z = 0):
   two(x, y, z)
def two(x, y):
    print x, y

Мне надо узнать количество аргументов, которое можно передать функции two без ошибки.    


Ответы

Ответ 1



Для этого можно воспользоваться модулем inspect >>> import inspect >>> def foo(a, b=0, c=0): ... pass ... >>> inspect.getargspec(foo) ArgSpec(args=['a', 'b', 'c'], varargs=None, keywords=None, defaults=(0, 0))

Ответ 2



или так func.func_code.co_argcount или так func.__code___.co_argcount

Ответ 3



Так же можно применять конструкции типа def a(*args,**kwargs): в таком случае любое количество аргументов будет правильным

Комментариев нет:

Отправить комментарий