Необязательные аргументы в Python отличаются от позиционных тем, что для необязательных аргументов можно указывать значения по умолчанию, а для позиционных количество и порядок аргументов в вызове функции должны точно соответствовать определению функции 124.
Пример: функция say_hello принимает параметр name, который является необязательным. 1 Если не передавать для него значение при вызове функции, то будет использоваться значение по умолчанию — строка «Tom». 1
Пример позиционных аргументов: функция printperson принимает два параметра: name и age. 1 При вызове функции printperson('Tom', 37) первое значение — строка «Tom» — передаётся первому параметру, то есть name, а второе значение — число 37 — второму параметру, age. 1
Если функция имеет несколько параметров, то необязательные параметры должны идти после обязательных. 1