14

我正在创建一个程序,它最终将有 500 次print函数调用,还有其他一些调用。这些函数中的每一个每次都将采用完全相同的参数,如下所示:

print(a, end='-', sep='.')
print(b, end='-', sep='.')
print(c, end='-', sep='.')
print(..., end='-', sep='.')

有没有办法改变print函数参数的默认值?这样我就不必end='-', sep='.'每次都打字了?

4

3 回答 3

18

你可以定义一个特殊版本的print()usingfunctools.partial()来给它默认参数:

from functools import partial

myprint = partial(print, end='-', sep='.')

然后myprint()将在您的代码中使用这些默认值:

myprint(a)
myprint(b)
myprint(c)
于 2013-01-30T16:32:54.193 回答
4

您还可以使用 lambda 函数:

my_print = lambda x: print(x, end='-', sep='-')
my_print(a)
my_print(b)
my_print(c)
于 2013-01-30T16:34:34.400 回答
2

还有一种方法允许多个参数并与 lambda 一起使用:

my_print = lambda *args: print(*args, end="-", sep=".")
于 2020-07-08T17:12:00.150 回答