我是Python新手,我正在尝试打印参数的默认值集.我的代码如下;
# Functions
def shoppingcart(item='computer', *price):
print item
for i in price:
print i
shoppingcart(100,200,300)
Run Code Online (Sandbox Code Playgroud)
当我运行代码时,我得到的只是值100,200,300.我在期待computer,100,200,300.我究竟做错了什么?
编辑
我如何在Python 2.7中实现这一目标?
编辑
我将我的代码更新为
def shoppingcart(item='computer', *price):
print item
for i in price:
print i
shoppingcart(item='laptop', 100,200,300)
Run Code Online (Sandbox Code Playgroud)
但得到错误

简单地说,只有在没有其他方法时才使用默认值.在这里你有item=100和其他两个值进入*price.
在Python3中,您可以编写:
def shoppingcart(*prices, item='computer'):
print(item)
print(prices)
shoppingcart(100,200,300)
shoppingcart(100,200,300, item='moon')
Run Code Online (Sandbox Code Playgroud)
在Python2中,您不能拥有默认参数,*args因此您必须找到另一种方法来调用您的函数.