Проверьте количество параметров, переданных в функции Python
Я новичок в Python и хочу знать, есть ли простой способ получить количество переданных параметров в функции Python.
a(1, 2, 3) ==>3
a(1, 2) ==>2
3 ответов
вы можете сделать это, используя locals ()
важно отметить, что это должно быть сделано, как, в конечном счете, ваш первый шаг в методе. Если вы введете новую переменную в свой метод, вы измените свои результаты. Поэтому убедитесь, что вы следуете этому пути:
def a(a, b, c):
# make this your first statement
print(len(locals()))
Если вы сделали это:
def a(a, b, c):
z = 5
print(len(locals()))
вы в конечном итоге получите 4, что не будет правильным для ваших ожидаемых результатов.
документация местные жители()
вы также можете изменить вход для своей функции на список, чтобы иметь функцию:
a(your_list)
затем узнать, сколько аргументов было передано функции, вы могли бы просто сделать:
print len(your_list)
однако это означает, что вы меняете тип ввода для своей функции, от многих входных переменных до только одного, списка (который может иметь переменное количество элементов).