函数参数-Python

函数参数-Python,python,Python,我开始学习python。我可以使用parrot(5,'dead')和parrot(电压=5)调用此函数。但是为什么我不能用parrot(电压=5,'dead')的相同函数调用呢?你不能在关键字参数(arg\u name='arg\u value')之后使用非关键字参数('arg\u value')。这是因为Python是如何设计的 请看这里: 因此,必须输入关键字参数后面的所有参数作为关键字参数 def parrot(voltage, state='a stiff', action='voom'

我开始学习python。我可以使用parrot(5,'dead')和parrot(电压=5)调用此函数。但是为什么我不能用parrot(电压=5,'dead')的相同函数调用呢?

你不能在关键字参数(
arg\u name='arg\u value'
)之后使用非关键字参数(
'arg\u value'
)。这是因为Python是如何设计的

请看这里:

因此,必须输入关键字参数后面的所有参数作为关键字参数

def parrot(voltage, state='a stiff', action='voom', type='Norwegian Blue'):
    print "-- This parrot wouldn’t", action
    print "if you put", voltage, "volts through it."
    print "-- Lovely plumage, the", type
    print "-- It’s", state, "!"
鹦鹉(5,state='dead')也是有效的
# instead of parrot(voltage=5, 'dead'):
parrot(voltage=5, state='dead')

# or:
parrot(5, state='dead')

# or:
parrot(5, 'dead')