Переменные у функции могут быть необязательными.
Для того, чтобы сделать переменную необязательной, после её декларации нужно указать её значение по умолчанию
def add5(a, b=5): return a + b>>> add5(3)8>>> add5(3, 10)13 |
При вызове функции можно не соблюдать порядок переменных, если указывать их имена при вызове:
def foo(fst, snd): return fst, snd>>> foo(1,2)(1, 2)>>> foo(snd=2, fst=1)(1, 2) |
Кроме того, можно указать, что все переменные начиная с некоторой могут быть переданы только по имени:
def foo(fst, *, snd=None): return fst, snd>>> foo(1)(1, None)>>> foo(1,2)Traceback (most recent call last): File "<input>", line 1, in TypeError: foo() takes 1 positional argument but 2 were given>>> foo(1, snd=2)(1, 2) |
Последнее изменение: Суббота, 15 Август 2020, 02:35