Привет Я пытаюсь понять, как реализовать необязательные аргументы в функции python. Например, в основной функции нижеопределение функций с необязательными аргументами
def Ham(p,*q):
if q:
print p+q
else:
print p
Ham(2)
Ham(2,3)
Я ожидаю Ham (2), чтобы вернуть '2', которые он делает, однако Ham (2,3) дает ошибку.
EDIT: Большое спасибо. Многие из ваших ответов были полезны.
Вы читали соответствующие разделы [учебник Python] (https://docs.python.org/2/tutorial/controlflow.html#more-on-defining-functions) ? – BrenBarn
также, посмотрите на '* args' и' ** kwargs'. – brunsgaard