開発環境
- OS X Lion - Apple(OS)
- BBEdit - Bare Bones Software, Inc.(Text Editor)
- プログラミング言語: Python
『初めてのPython 第3版』(Mark Lutz 著、夏目 大 訳、オライリー・ジャパン、2009年、ISBN978-4-87311-393-7) のV部(モジュール)の20章(インポート、リロード)3.を解いてみる。
その他参考書籍
3.
まず、python3.xではreload関数はビルトイン関数ではなく、impモジュールに定義されている。
通常importは対話型セッション中等では一回だけ(セッションが途切れる事無くモジュールを変更したあと再度インポートしても反映されない)けど、impモジュールのreload関数を使えば再度インポートされて変更が反映される。以下その様子が分かる実行結果。
入出力結果(Terminal)
$ cat sample.py #!/usr/bin/env python3.3 #-*- coding: utf def f(): print("Hello, Python!") $ python Python 3.3.0 (default, Sep 29 2012, 08:16:08) [GCC 4.2.1 Compatible Apple Clang 3.1 (tags/Apple/clang-318.0.58)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import sample >>> sample.f() Hello, Python! >>> [1]+ Stopped python $ vi sample.py $ cat sample.py #!/usr/bin/env python3.3 #-*- coding: utf-8 -*- def f(): print("Hello, World!") $ fg python import sample import sample >>> sample.f() Hello, Python! >>> import imp >>> imp.reload(sample) <module 'sample' from './sample.py'> >>> sample.f() Hello, World! >>> quit() $
0 コメント:
コメントを投稿