以下是功能示例。
def testfun(self,total, count, fruitname):
self.totalvalue = total + count
print "fruitname"
self.testfun(10,5,"apple")
输出:
apple
现在我需要使用testfun打印额外的水果名称
所以当我这样打电话时:
self.testfun(10,5,"apple","orange")
期待:
apple
orange
是否可以使用相同的功能实现上述输出" testfun"或者我需要写两个不同的功能。
为什么我要问的是我有很大的功能我需要拨打两次电话,第二次打电话我需要打印一个额外的输入。
任何建议都将受到高度赞赏
答案 0 :(得分:2)
您可以为函数指定*args
参数。对于在前两个之后指定的所有内容,此*args
是一个包罗万象的参数。
>>> def foo(x, y, *args):
... print(x, y)
... for arg in args:
... print(arg)
...
>>>
>>> foo(10, 5, 'apple')
(10, 5)
apple
>>> foo(10, 5, 'apple', 'orange')
(10, 5)
apple
orange
This回答非常详细地解释了这个概念。