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