Pythonエンジニア試験問題の中にこんなのがありました。次の文章が正しいかどうかという趣旨です。
#####「あるモジュールがインポートされるときにインタープリタが検索する順序は、まずビルトインモジュール、次にsys.path変数で得られるディレクトリ、最後にシンボリックリンクを置いてあるディレクトリである。」
そもそも何を言っているのか意味がわからない!
私なりに解釈してみました。かなり強引です(ツッコミ歓迎)。
文章を4つのパートに分けました。
#####「あるモジュールがインポートされるときにインタープリタが検索する順序」
とは、忘れ物をしたとき、物のとき探す順番のようなもの、たとえば家の中、会社、喫茶店などをイメージするといいと思います。
#####「ビルトインモジュール」
ですが,組み込み関数のあるモジュール、print()は組み込み関数で、仰々しくやるには__builtins__.をつけます。
ただ、print()は組み込みで用意された関数だから、普通はこんなものをつけません。探しもののたとえ話だと、「いつもの場所」という感じで、まずは家の中を探すイメージです。
#####「次にsys.path変数で得られるディレクトリ」
ですが、sys.path変数とはたとえば
import sys print(sys.path)
などと打ち込むと、システムに関するパスがずらずらでてくるやつです(ちなみにglot.ioでも動きました)。
探しもののたとえ話だと、次に重要な場所、たとえば、会社などですかね。
#####最後にシンボリックリンクを置いてあるディレクトリである。
シンボリックリンクはショートカットと理解しました。そこそこなデータのおいてあるところという意味でレンタル倉庫とかですかね
ただし公式ドキュメントを読むと
https://docs.python.org/ja/3/tutorial/modules.html
#####シンボリックリンクを含むディレクトリはモジュール検索パスに追加されません。
と書かれています。レンタル倉庫は探しに行かないということです。
なのでこの文章は全体として「誤り」という結論になります。