Python 3: изменить значения по умолчанию для существующих параметров функции?
Я создаю программу, которая в итоге будет иметь 500 вызовов для функции print
, а также некоторые другие. Каждая из этих функций будет принимать одинаковые параметры каждый раз, например:
print(a, end='-', sep='.')
print(b, end='-', sep='.')
print(c, end='-', sep='.')
print(..., end='-', sep='.')
Есть ли способ изменить значения по умолчанию для параметров функции print
? Чтобы мне не приходилось вводить end='-', sep='.'
каждый раз?
Ответы
Ответ 1
Вы можете определить специальную версию print()
с помощью functools.partial()
, чтобы указать ее аргументы по умолчанию:
from functools import partial
myprint = partial(print, end='-', sep='.')
и myprint()
будут использовать эти значения по умолчанию для вашего кода:
myprint(a)
myprint(b)
myprint(c)
Ответ 2
Вы также можете использовать лямбда-функцию:
my_print = lambda x: print(x, end='-', sep='-')
my_print(a)
my_print(b)
my_print(c)