Uzyskaj domyślną wartość argumentu funkcji?

Dla tej funkcji

def eat_dog(name, should_digest=True):
    print "ate dog named %s. Digested, too? %" % (name, str(should_digest))

Chcę, na zewnątrz funkcji, przeczytać jej argumenty i wszelkie wartości domyślne dołączone. Więc dla tego konkretnego przykładu chcę to wiedziećname nie ma wartości domyślnej (tj. jest to wymagany argument) i toTrue jest wartością domyślną dlashould_digest.

jestem swiadomyinspect.getargspec(), co daje mi informacje o argumentach i wartościach domyślnych, ale nie widzę żadnego połączenia między tymi dwoma:

ArgSpec(args=['name', 'should_digest'], varargs=None, keywords=None, defaults=(True,))

Z tego wyjścia mogę to powiedziećTrue (wdefaults krotka) jest wartością domyślną dlashould_digest?

Dodatkowo zdaję sobie sprawę z modelu zbliżania się do problemu „poproś o przebaczenie”, ale niestety wyjście z tego błędu nie powie mi nazwy brakującego argumentu:

>>> eat_dog()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: eat_dog() takes at least 1 argument (0 given)

Aby podać kontekst (dlaczego chcę to zrobić), udostępniam funkcje w module nad interfejsem API JSON. Jeśli wywołujący pomija pewne argumenty funkcji, chcę zwrócić konkretny błąd, który nazwał konkretny argument funkcji, który został pominięty. Jeśli klient pomija argument, ale w podpisie funkcji jest domyślnie, chcę użyć tego domyślnego.

questionAnswers(4)

yourAnswerToTheQuestion