2013年5月19日日曜日

開発環境

『初めての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
60
 adder() 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 コメント:

コメントを投稿