問題タブ [python-importlib]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
94 参照

python - モジュール「builtin」の「__import__」属性へのデフォルトのバインディングは何ですか?

一言で言えば Python から

カスタムインポーター

Python が提供する、めったに必要とされない高度な機能は、一部またはすべての import および from ステートメントのセマンティクスを変更する機能です。

__import__ の再バインド

__import__ モジュールの属性を 独自のカスタム インポーター関数に再バインドでき builtin ます。たとえば、174 ページの「Python 組み込み」に示されている汎用の組み込みラッピング手法を使用する関数などです。

  1. __import__ 「モジュールの属性を 再バインドでき ます」では、「モジュール」 builtinは「モジュール」である必要があり ますか?builtinbuiltins

  2. __import__ 「モジュールの属性 builtin」は デフォルトで関数にバインドさimportlib.__import__れていますか? または、「モジュール 」は、その 属性builtinにバインドされたデフォルトの実装を提供し ますか?__import__

0 投票する
1 に答える
152 参照

python - `import` ステートメントと `builtin.__import__()` 関数の両方がデフォルトで `importlib.__import()` 関数に基づいて実装されていますか?

https://docs.python.org/3/library/importlib.htmlから

importlibパッケージの目的は 2 つあります。

1 つは、Python ソース コードでステートメント (したがって、拡張機能として関数)実装提供することです。 これにより、任意の Python インタープリターに移植可能な実装が提供されます。これは、Python 以外のプログラミング言語で実装された実装よりも理解しやすい実装も提供します。import__import__()import

2 つ目は、実装するコンポーネントimportがこのパッケージで公開されているため、ユーザーが独自のカスタム オブジェクト (一般にインポーターと呼ばれる) を簡単に作成して、インポート プロセスに参加できることです。

importステートメントと関数の両方builtin.__import__()がデフォルトで関数に基づいて実装されているということimportlib.__import()ですか?

しかしhttps://stackoverflow.com/a/44655619/156458builtins.__import__は、デフォルトでは実装されていないことを意味し importlib.__import__ます。

https://docs.python.org/3/library/functions.html# importは、 buitlins.__import__関数がimportステートメントによって呼び出されることを示しています。したがって、デフォルトでにbuiltins.__import__基づいて実装されていないimportlib.__import__場合、importステートメントもデフォルトでに基づいて実装されていませんimportlib.__import__