のようなモジュールがある場合module
、それをバイパスして、モジュールを使用せずに内部で利用可能な機能を使用できますか?
モジュールをインポートしましたが、コンパイラはfunction
. 私はまだ使用する必要がありますmodule.function()
。
もっと多くの関数があるので、それらを1つずつ再定義したくはありませんがmodule
、可能であれば入力を避けてください。
のようなモジュールがある場合module
、それをバイパスして、モジュールを使用せずに内部で利用可能な機能を使用できますか?
モジュールをインポートしましたが、コンパイラはfunction
. 私はまだ使用する必要がありますmodule.function()
。
もっと多くの関数があるので、それらを1つずつ再定義したくはありませんがmodule
、可能であれば入力を避けてください。
Python でのインポートは、名前空間に何かを追加するだけです。import foo
インポートされた名前を修飾する方法は、との違いfrom foo import bar
です。
最初のケースでは、モジュール名のみをインポートします。foo
それが、その中の何かに到達する方法です。これが、実行する必要がある理由ですfoo.bar()
。2 番目のケースでは、明示的にのみ をインポートし、次のようにbar
呼び出すことができますbar()
。
from foo import *
すべてのインポート可能な名前 (特別な変数で定義されたもの__all__
) を現在の名前空間にインポートします。これは機能しますが、既存の名前を誤って上書きしてしまう可能性があるため、お勧めできません。
foo = 42
from bar import * # bar contains a `foo`
print foo # whatever is from `bar`
ベスト プラクティスは、必要なものをインポートすることです。
from foo import a,b,c,d,e,f,g
または、名前のエイリアスを作成できます
import foo as imported_foo
結論 - 避けるようにしてくださいfrom foo import *
。