繁体   English   中英

Python 3:更改现有函数参数的默认值?

[英]Python 3: Change default values of existing function's parameters?

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

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

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

您可以使用functools.partial()定义特殊版本的print() functools.partial()为其提供默认参数:

from functools import partial

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

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

myprint(a)
myprint(b)
myprint(c)

您还可以使用 lambda 函数:

my_print = lambda x: print(x, end='-', sep='-')
my_print(a)
my_print(b)
my_print(c)

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

my_print = lambda *args: print(*args, end="-", sep=".")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM