開発環境
- OS X Lion - Apple(OS)
- TextWrangler(Text Editor) (BBEditの無料機能制限版、light版)
- Script言語: Python
『初めてのPython 第3版』(Mark Lutz 著、夏目 大 訳、オライリー・ジャパン、2009年、ISBN978-4-87311-393-7) のII部(ビルトインオブジェクト)の9章(タプル、ファイルオブジェクト、その他)の練習問題を解いてみる。
1.
タプルの大きさを知るにはlen関数を使えばいい。
2.
タプルは不変性オブジェクトなので直接変更はできないので、新しいタプルを作成する必要がある。(元のタプルを利用するにはスライシング等を使えばいい。)
3.
open関数のデフォルト処理モードは読み込み(r)。
4.
pickleモジュールを使えばいい。
5.
copyモジュールのdeepcopy関数を使えばいい。
6.
- 数値は0以外の場合
- その他のオブジェクトは空ではない場合
7.
III部ではステートメントや構文について学ぶ。
以上のことを対話型コマンドプロンプトで確認。
入出力結果(Terminal)
$ python Python 3.2.3 (default, Apr 18 2012, 20:17:30) [GCC 4.2.1 Compatible Apple Clang 3.0 (tags/Apple/clang-211.12)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> t=(1,2,3,4,5) >>> len(t) 5 >>> t=(4,5,6) >>> t (4, 5, 6) >>> t=(1,)+t[1:] >>> t (1, 5, 6) >>> f=open('sample.py') >>> f.read() '#!/usr/bin/env python\n#encoding: utf-8\n\nprint("Hello module world!")' >>> f.write('hello') Traceback (most recent call last): File "<stdin>", line 1, in <module> io.UnsupportedOperation: not writable >>> f.close() {'a': {'b': 100}, 'd': 2} >>> d={'a':1,'b':{'c':2}} >>> d1=d.copy() >>> import copy >>> d2=copy.deepcopy(d) >>> d['b']['c']=100 >>> d {'a': 1, 'b': {'c': 100}} >>> d1 {'a': 1, 'b': {'c': 100}} >>> d2 {'a': 1, 'b': {'c': 2}} >>> bool(1) True >>> bool(10) True >>> bool(0) False >>> bool([1,2]) True >>> bool([]) False >>> bool({1:0,2:0}) True >>> bool({}) False >>> bool(()) False >>> bool((1,2)) True >>> quit() $
0 コメント:
コメントを投稿