問題タブ [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.
python - モジュール「builtin」の「__import__」属性へのデフォルトのバインディングは何ですか?
一言で言えば Python から
カスタムインポーター
Python が提供する、めったに必要とされない高度な機能は、一部またはすべての import および from ステートメントのセマンティクスを変更する機能です。
__import__ の再バインド
__import__
モジュールの属性を 独自のカスタム インポーター関数に再バインドできbuiltin
ます。たとえば、174 ページの「Python 組み込み」に示されている汎用の組み込みラッピング手法を使用する関数などです。
__import__
「モジュールの属性を 再バインドでき ます」では、「モジュール」builtin
は「モジュール」である必要があり ますか?builtin
builtins
__import__
「モジュールの属性builtin
」は デフォルトで関数にバインドさimportlib.__import__
れていますか? または、「モジュール 」は、その 属性builtin
にバインドされたデフォルトの実装を提供し ますか?__import__
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__
。