You are here: Home > Dive Into Python > オブジェクトとオブジェクト指向 > from module import を使ってのインポート | << >> | ||||
Dive Into PythonPython from novice to pro |
Python にはモジュールをインポートする方法が 2 つあります. 両方とも有用であり, それらの使い分けを知らなくてはなりません. 1 つの方法は, Section 2.4, “全てはオブジェクト” で既に見た import module です. もう 1 つの方法でも同じ結果は得ますが, わずかですが重要な違いがあります.
以下が基本的な from module import 構文です.
from UserDict import UserDict
これはあなたが愛して止まない import module 構文に似ていますが, but with an important difference: the attributes and methods of the imported module types are imported directly into the local namespace, so they are available directly, without qualification by module name. You can import individual items or use from module import * to import everything.
from module import * in Python is like use module in Perl; import module in Python is like require module in Perl. |
from module import * in Python is like import module.* in Java; import module in Python is like import module in Java. |
>>> import types >>> types.FunctionType <type 'function'> >>> FunctionType Traceback (innermost last): File "<interactive input>", line 1, in ? NameError: There is no variable named 'FunctionType' >>> from types import FunctionType >>> FunctionType <type 'function'>
When should you use from module import?
Other than that, it's just a matter of style, and you will see Python code written both ways.
Use from module import * sparingly, because it makes it difficult to determine where a particular function or attribute came from, and that makes debugging and refactoring more difficult. |
<< オブジェクトとオブジェクト指向 |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |
Defining Classes >> |