#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): в таком случае любое количество аргументов будет правильным
Комментариев нет:
Отправить комментарий