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)