Переменные у функции могут быть необязательными.
Для того, чтобы сделать переменную необязательной, после её декларации нужно указать её значение по умолчанию
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