開発環境
- OS X Lion - Apple(OS)
- TextWrangler(Text Editor) (BBEditの無料機能制限版、light版)
- Script言語: Python
『初めてのPython 第3版』(Mark Lutz 著、夏目 大 訳、オライリー・ジャパン、2009年、ISBN978-4-87311-393-7) のV部(モジュールのインポート、リロード)の19章(モジュールのインポート、リロードとインポート)練習問題4を解いてみる。
4.
異なるモジュールの同じ名前の変数を使う場合はfromではなくimportを使用するべき。
コード(TextWrangler)
sample.py
#!/usr/bin/env python #encoding: utf-8 a = 10 b = "Python" def f(): print("Hello, Python!")
sample1.py
#!/usr/bin/env python #encoding: utf-8 a = 20 b = "python3" def f(): print("Hello, python3!")
入出力結果(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. >>> from sample import * >>> from sample1 import * >>> a 20 >>> b 'python3' >>> f() Hello, python3! >>> import sample >>> import sample1 >>> sample.a 10 >>> sample.b 'Python' >>> sample.f() Hello, Python! >>> sample1.a 20 >>> sample1.b 'python3' >>> sample1.f() Hello, python3! >>> quit() $
fromだと同じ名前の変数が後からインポートしたモジュールの同じ名前の変数の値に上書きされてる。
0 コメント:
コメントを投稿