開発環境
- OS X Lion - Apple(OS)
- BBEdit - Bare Bones Software, Inc., Emacs(Text Editor)
- プログラミング言語: Python
『初めてのPython 第3版』(Mark Lutz 著、夏目 大 訳、オライリー・ジャパン、2009年、ISBN978-4-87311-393-7)のII部(ビルトインオブジェクト)、9章(タプル、ファイルオブジェクト、その他)の練習問題を解いてみる。
その他参考書籍
1, 2, 3, 4, 5, 6.
コード(BBEdit)
sample.py
#!/usr/bin/env python3.3 #-*- coding: utf-8 -*- t1 = ('a','b') t2 = ('a','b','c','d','e') print(t1, len(t1)) # len関数でタプルの大きさを取得 print(t2, len(t2)) t = (4, 5, 6) t = (1,) + t[1:] print(t) with open('sample.txt') as f: # open関数の第2引数のデフォルトは読み込みのr print("読み込み") print(f.read()) print("読み込み終了") print("書き込み(エラー)") try: f.write("Hello, World!") print("書き込み終了") except Exception as err: print(type(err), err, err.args) # pythonのオブジェクトを文字列に変換せずにファイルに保存したり # 読み込んだりするためのモジュール import pickle d = {'a':1,'b':2} with open('tmp.txt', 'wb') as f: pickle.dump(d, f) with open('tmp.txt', 'rb') as f: o = pickle.load(f) print(o) l1 = [['a','b'], 'c', 'd'] l2 = l1[:] # shallow copy l1[1] = 'e' l1[0][0] = 'f' print(l1, l2, sep="\n") import copy l1 = [['a','b'], 'c','d'] l2 = copy.deepcopy(l1) # deep copy l1[1] = 'e' l2[0][0] = 'f' print(l1, l2, sep="\n") # 0, False, None, 空文字、空の複合オブジェクト以外はTrue print(bool(0), bool(None), bool(""), bool([]), bool(()), bool({}), bool(set())) print(bool(10), bool(-10), bool("0"),bool([0]), bool((0,)), bool(set([0])))
入出力結果(Terminal)
$ ./sample.py ('a', 'b') 2 ('a', 'b', 'c', 'd', 'e') 5 (1, 5, 6) 読み込み sample python 読み込み終了 書き込み(エラー) <class 'io.UnsupportedOperation'> not writable ('not writable',) {'b': 2, 'a': 1} [['f', 'b'], 'e', 'd'] [['f', 'b'], 'c', 'd'] [['a', 'b'], 'e', 'd'] [['f', 'b'], 'c', 'd'] False False False False False False False True True True True True True $
0 コメント:
コメントを投稿