2006年06月12日

[Python]関数(キーワード引数編)

今回はキーワード引数について学びます。

ドキュメント(tut.pdf)のP24あたりを参考にします。

では、さっそくプログラムを作成してみます。

>>> 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, "!"



>>> parrot(1000)
-- This parrot wouldn't voom if you put 1000 Volts through it.
-- Lovely plumage, the Norwegian Blue
-- It's a stiff !
>>> parrot(action = 'VOOOOOM', voltage = 1000000)
-- This parrot wouldn't VOOOOOM if you put 1000000 Volts through it.
-- Lovely plumage, the Norwegian Blue
-- It's a stiff !
>>> parrot('a thousand', state = 'pushing up the daisies')
-- This parrot wouldn't voom if you put a thousand Volts through it.
-- Lovely plumage, the Norwegian Blue
-- It's pushing up the daisies !
>>> parrot('a million', 'bereft of life', 'jump')
-- This parrot wouldn't jump if you put a million Volts through it.
-- Lovely plumage, the Norwegian Blue
-- It's bereft of life !
>>>


'keyword = value' の形で引数を書く

以下のような方法をとると、エラーがでる。
  • 必要な引数がない
  • キーワード引数の後ろに非キーワード引数がある
  • 引数に対して値が重複し

    ている
  • 未知のキーワードを使用している


>>> def cheeseshop(kind, *arguments, **keywords):
print "-- Do you have any", kind, "?"
print "-- I'm sorry, we're all out of", kind
for arg in arguments: print arg
print "-"*40
keys = keywords.keys()
keys.sort()
for kw in keys: print kw, ':', keywords[kw]


sort()をしないと、順序が不確定になるらしい。

>>> cheeseshop('Limburger', "It's very runny, sir.",
"It's really very, VERY runny, sir.",
client='John Cleese',
shopkeeper='Michael Palin',
sketch='Cheese Shop Sketch')
-- Do you have any Limburger ?
-- I'm sorry, we're all out of Limburger
It's very runny, sir.
It's really very, VERY runny, sir.
----------------------------------------
client : John Cleese
shopkeeper : Michael Palin
sketch : Cheese Shop Sketch



以上!
posted by yu at 10:25 | Comment(1) | TrackBack(0) | Python
この記事へのコメント
財布 ブランド メンズ [url=http://www.clevaluatejp.biz/]ルブタン ハイヒール[/url] ルブタン ハイヒール
Posted by ルブタン ハイヒール at 2013年07月25日 15:40
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

この記事へのトラックバックURL
http://blog.seesaa.jp/tb/19161019
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。