Jestem nowy w Pythonie i chcę wiedzieć, czy istnieje prosty sposób na uzyskanie ilości przekazanych parametrów w funkcji Pythona.Sprawdź liczbę parametrów przekazanych w funkcji Python
a(1, 2, 3) ==>3
a(1, 2) ==>2
Jestem nowy w Pythonie i chcę wiedzieć, czy istnieje prosty sposób na uzyskanie ilości przekazanych parametrów w funkcji Pythona.Sprawdź liczbę parametrów przekazanych w funkcji Python
a(1, 2, 3) ==>3
a(1, 2) ==>2
Można to zrobić za pomocą miejscowych()
Ważne jest, aby pamiętać, że należy to zrobić jak ostatecznie swój pierwszy krok w swojej metodzie. Jeśli wprowadzisz nową zmienną w swojej metodzie, zmienisz wyniki. Więc upewnij się, wykonaj to w ten sposób:
def a(a, b, c):
# make this your first statement
print(len(locals()))
Jeśli tak to:
def a(a, b, c):
z = 5
print(len(locals()))
byłoby skończyć się coraz 4, który nie byłby odpowiedni do Twoich oczekiwanych rezultatów.
Dokumentacja locals()
def a(*args, **kwargs):
print(len(args) + len(kwargs))
Daje +1 do tego anwer, ponieważ argument liczenia wewnątrz funkcji ma sens tylko wtedy, gdy istnieje zmienna ich ilość. – VPfB
można również zmienić wejście do swojej funkcji do listy, tak aby mieć funkcję:
a(your_list)
wtedy wiedzieć, ile argumenty zostały przekazane do funkcję, można po prostu zrobić:
print len(your_list)
Jednak oznacza to, że zmieniasz typ wejścia dla swojej funkcji, z wielu zmiennych wejściowych na tylko jedną, listę (która może mieć zmienną liczbę elementów).
Możliwy duplikat [Uzyskiwanie listy nazw parametrów w funkcji Pythona] (http://stackoverflow.com/questions/582056/getting-list-of-parameter-names-inside-python-function) – TigerhawkT3
Inna możliwość [tutaj ] (http://stackoverflow.com/questions/218616/getting-method-parameter-names-in-python). – TigerhawkT3
Mogę równie dobrze powiedzieć, że jest to [XY Problem] (http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem). – TigerhawkT3