我有下面的代码。在这种情况下,我想使用给'a'的可选参数,即'5',而不是'1'。如何使元组“numbers”包含的第一个元素是1而不是2?你知道吗
def fun_varargs(a=5, *numbers, **dict):
print("Value of a is",a)
for i in numbers:
print("Value of i is",i)
for i, j in dict.items():
print("The value of i and j are:",i,j)
fun_varargs(1,2,3,4,5,6,7,8,9,10,Jack=111,John=222,Tom=333)
一种选择是在
*numbers
之后移动a
但是,不能再将其用作位置参数。
fun_varargs(42)
不会将a
设置为42。只能使用关键字参数来定义a
,即fun_varargs(a=42)
。你知道吗Python的“惯用”方法是将可选参数默认为
None
。你知道吗然后您可以显式地选择不传递它。你知道吗
我不知道如何选择不传递可选参数。如果你在寻找一个切实可行的解决方案,这是一条路。但如果有更深层次的黑客让你完全绕过这个论点,我也有兴趣看看。你知道吗
.__defaults__
属性提供元组中的默认参数。你可以在这里用这个。你知道吗相关问题 更多 >
编程相关推荐