開発環境
- OS X Lion - Apple(OS)
 - BBEdit - Bare Bones Software, Inc., Emacs(Text Editor)
 - プログラミング言語: Python
 
『初めてのPython 第3版』(Mark Lutz 著、夏目 大 訳、オライリー・ジャパン、2009年、ISBN978-4-87311-393-7)のIV部(関数)のまとめ演習4.(キーワード引数)を解いてみる。
その他参考書籍
4.(キーワード引数)
コード(BBEdit)
sample.py
#!/usr/bin/env python3.3
#-*- coding: utf-8 -*-
def adder(good=1, bad=2, ugly=3):
    return good + bad + ugly
print(adder(10)) # 15
print(adder(10, 20)) # 33
print(adder(10, 20, 30)) # 60
try:
    print(adder(10, 20, 30, 40))
except Exception as err:
    print(type(err), err, err.args)
print(adder(bad=10)) # 14
print(adder(ugly=1, good=2)) # 5
def adder1(**args):
    keys = list(args)
    res = args[keys[0]]
    for k in keys[1:]:
        res += args[k]
    return res
print(adder1(**{'a':5,'b':10})) # 15
print(adder1(a=5,b=10)) # 15
print(adder1(**{'a':"spam", "b":"egg"})) # 'spamegg'
print(adder1(a="spam", b="egg")) # 'spamegg'
入出力結果(Terminal)
$ ./sample.py 15 33 60adder() takes from 0 to 3 positional arguments but 4 were given ('adder() takes from 0 to 3 positional arguments but 4 were given',) 14 5 15 15 eggspam eggspam $ 
0 コメント:
コメントを投稿