在普通python(2.7)中,可以像这样编写可变参数函数:
>> def myfunc(a, b, *args):
print a,b,args
>> params = (1,2,"3", "abc")
>> myfunc(*params)
# Will print "1 2 ('3', 'abc')"
>> myfunc(params)
# Will fail with 'myfunc() takes at least 2 arguments (1 given)'
在C语言中编写Python扩展时,我可以轻松传递一个PyObjects元组(如示例中的params),但是如何使用*
- 运算符传递params,其函数如{{1}等等。