私は、30 人までの開発者のチームのために一連の Python コーディング ガイドラインを作成しています。私のドキュメントの基礎として、これまでGoogle python スタイル ガイドとPEP 8 スタイル ガイドを研究し、両方の情報を取り入れてきました。
Google スタイル ガイドが PEP 8 よりも制限が厳しい場所の 1 つは、インポートに関するものです。Google ガイドでは、開発者のみがパッケージとモジュールのみをインポートし、その中の項目をより修飾された名前で参照するように要求しています。例えば:
from pkg import module
...
my_class = module.MyClass()
正当化は、「各識別子のソースが一貫した方法で示されている」ことです。私たちのプロジェクトでは、2 ~ 3 レベルの深さのパッケージで編成するつもりです。そのため、識別子の完全なソースを知るために、読者はとにかく import ステートメントを調べる必要があります。このスタイルのインポートを「推奨されるスタイル」として提唱したいと思います。
from pkg.module import MyClass
...
my_class = MyClass()
私見、リスト内包表記などの python 構造の可読性は、名前がより簡潔になると改善されます。
私がはっきりしていないのは、Python インタープリターが舞台裏で何をしているのかということです。たとえば、MyClass は現在、このモジュールとこのモジュールのすべてのインポーターの両方のグローバル名前空間の一部ですか? (これは悪いことであり、いくつかの奇妙なバグにつながる可能性があります。これが本当なら、私は Google スタイルを提唱します)。
私の Python 開発経験は約 6 か月に限られています (また、私たちのプロジェクトについて相談できる専門家は多くありません) ので、コミュニティからより多くの情報を得たいと思いました。ここに私がすでに研究したいくつかの項目があります:
スタック オーバーフロー - インポートとインポートからのインポート
ご回答ありがとうございます。