2011-12-27 19 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, "!" 

私はPythonを学び始めました。私はparrot(5、 'dead')とparrot(voltage = 5)を使ってこの関数を呼び出すことができます。しかし、なぜ私はparrot(voltage = 5、 'dead')と同じ機能を呼び出すことができませんか?関数のパラメータ - 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、状態=「死者は」)もあることでしょう有効な –

+0

@ NathanWはい、これを私のサンプルコードに追加しました。 – poplitea

関連する問題