2011-12-27 52 views
8
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)此函數(5,「死」)和。但爲什麼我不能用鸚鵡(電壓= 5,'死')具有相同的功能?功能參數 - Python的

回答

13

不能使用關鍵字參數(arg_name='arg_value')後,非關鍵字參數('arg_value')。這是因爲Python的設計原因。

在這裏看到:http://docs.python.org/tutorial/controlflow.html#keyword-arguments

因此,您必須輸入所有參數之後的關鍵字參數作爲關鍵字參數...

# instead of parrot(voltage=5, 'dead'): 
parrot(voltage=5, state='dead') 

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

# or: 
parrot(5, 'dead') 
+2

鸚鵡(5,狀態=「死」)也將是有效 – 2011-12-27 07:14:41

+0

@NathanW是啊,還說我的示例代碼現在。 – poplitea 2011-12-27 07:31:58