開発環境
- OS X Lion - Apple(OS)
- TextWrangler(Text Editor) (BBEditの無料機能制限版、light版)
- Script言語: Python
『初めてのPython 第3版』(Mark Lutz 著、夏目 大 訳、オライリー・ジャパン、2009年、ISBN978-4-87311-393-7) のIV部(関数)まとめ演習3(引数の数を増やす(減らす))を解いてみる。
3.
可変長引数にするには、*argsを使えばいい。
コード(TextWrangler)
#!/usr/bin/env python #encoding: utf-8 def adder(*args): total = args[0] for x in args[1:]: total += x return total print adder('python','javascript') print adder('python') print adder('python','javascript','ruby') print adder([1,2],[3,4,5]) print adder([1,2]) print adder([1,2],[3,4,5],[6,7]) print adder(12.34,56.789) print adder(12.34) print adder(12.34,56.789,54.32) print adder({'a':1,'b':2},{'c':3,'d':4,'e':5}) print adder({'a':1,'b':2}) print adder({'a':1,'b':2},{'c':3,'d':4,'e':5},{'f':6,'g':7})
入出力結果(Terminal)
$ python python_program.py pythonjavascript python pythonjavascriptruby [1, 2, 3, 4, 5] [1, 2] [1, 2, 3, 4, 5, 6, 7] 69.129 12.34 123.449 Traceback (most recent call last): File "python_program.py", line 20, in <module> print adder({'a':1,'b':2},{'c':3,'d':4,'e':5}) File "python_program.py", line 7, in adder total += x TypeError: unsupported operand type(s) for +=: 'dict' and 'dict' $
異なる方の引数を混在させた場合エラーになる。
また、入出力結果から分かるように、ディクショナリを引数に指定した場合もエラーになる。
0 コメント:
コメントを投稿