Python中定义函数时,为什么很少用到可变参数?
看了一下,都是源码用的多,很少有自己写这种可变参数啊,大家平时用这种吗?
def test_kwargs(first, *args, **kwargs):
print 'Required argument: ', first
for v in args:
print 'Optional argument (*args): ', v
for k, v in kwargs.items():
print 'Optional argument %s (*kwargs): %s' % (k, v)
test_kwargs(1, 2, 3, 4, k1=5, k2=6
Python中定义函数时,为什么很少用到可变参数?
1 回复
在Python里,可变参数(*args和**kwargs)其实用得挺多的,尤其是在需要处理不定数量参数的场景,比如装饰器、继承或包装函数。不过,在定义普通函数时,如果参数数量固定且明确,直接列出具体参数名会更清晰、更易于维护和类型提示。滥用可变参数会让函数签名意图模糊,降低代码可读性。所以,不是“很少用”,而是“按需使用”——需要灵活性时才用。
总结:明确参数优先,需要灵活处理不定参数时才用可变参数。

