ここで、aという名前のモジュールにhelloという名前の関数があり、その他のさまざまな関数があるとします。こんにちは、他のシンボルと一緒にお別れとしてインポートすることは可能ですか?しかし私はそれが有効ではありません、このような何かを考えています:関数としてのみインポートし、残りをそのままインポートできますか?
from a import hello as goodbye,*
ここで、aという名前のモジュールにhelloという名前の関数があり、その他のさまざまな関数があるとします。こんにちは、他のシンボルと一緒にお別れとしてインポートすることは可能ですか?しかし私はそれが有効ではありません、このような何かを考えています:関数としてのみインポートし、残りをそのままインポートできますか?
from a import hello as goodbye,*
あなたが望む新しい名前をバインドし、前を削除し、その後、からインポートすることができます。何かのように
名前空間の汚染のため、通常、スターインポートはあまり良くありません。
from a import *
from a import hello as goodbye
これは 'hello'を' hello'としてもアクセス可能にしていませんか? – Geo
実際、2回目のインポートは、私たちがすでにインポートしているので、実際には単に「hello = goodbye」になる可能性があります。 –
@geo:それはあなたが得るものです...星の輸入は、一般的に悪い考えです。だから、これを求めて-1を得るかもしれません:) –
次の2行は私のために正常に動作:
from core.commonActions import click_on_toolbar_tool, wait_toolbar_tool_enabled as x
from core.commonActions import wait_toolbar_tool_enabled as x, click_on_toolbar_tool
ORあなたが使用できるすべての関数をインポートする必要がある場合:
from core.commonActions import *
from core.commonActions import wait_toolbar_tool_enabled as x
OR:
from core.commonActions import *
x = wait_toolbar_tool_enabled
、あなたは単に、より利用可能ではないとハローたい場合:
from core.commonActions import *
x = wait_toolbar_tool_enabled
wait_toolbar_tool_enabled = None # or del wait_toolbar_tool_enabled
しかしこれで問題は解決しません。 OPの例では、モジュールからのすべてのシンボルがインポートされ、そのうちの1つだけが名前が変更されます。 –
編集してすべてをインポートし、名前を変更します –
これは元の名前にアクセス可能なままです。 @Francescoは正しく動作するソリューションを提案しています。 –
from a import *
goodbye = hello
del hello
これを行う別の方法ですか。
'from a import *'は**ほとんどの**ケースでは悪い考えです。現在の名前空間を完全に汚染します。 –