Varargs 让我感到困惑,所以我在 Python 中对其进行了测试,以便自己解决。
首先,可变参数的 PEP 在这里。
这是示例程序,基于 Dave 和 David Berger 的两个答案,然后是输出,只是为了澄清。
def func( *files ):
print files
for f in files:
print( f )
if __name__ == '__main__':
func( *['file1','file2','file3'] ) #Is treated like func('file1','file2','file3')
func( 'onestring' )
func( 'thing1','thing2','thing3' )
func( ['stuff1','stuff2','stuff3'] )
以及由此产生的输出;
('file1', 'file2', 'file3')
file1
file2
file3
('onestring',)
onestring
('thing1', 'thing2', 'thing3')
thing1
thing2
thing3
(['stuff1', 'stuff2', 'stuff3'],)
['stuff1', 'stuff2', 'stuff3']
希望这对其他人有帮助。