9

PEP 8によると:

インポートは次の順序でグループ化する必要があります。

  1. 標準ライブラリのインポート
  2. 関連する第三者輸入
  3. ローカル アプリケーション/ライブラリ固有のインポート

インポートの各グループの間に空白行を入れる必要があります。

__future__しかし、それは輸入について言及していません。インポート__future__は、標準ライブラリのインポートと一緒にグループ化するか、標準ライブラリのインポートから分離する必要があります。

したがって、どちらがより好ましいですか:

from __future__ import absolute_import
import sys
import os.path

from .submod import xyz

また:

from __future__ import absolute_import

import sys
import os.path

from .submod import xyz
4

1 に答える 1

12

私は個人的にそれらを分離します。__future__インポートは、他のインポートのように名前をバインドするだけでなく、言語の意味を変更します。モジュールのようなものを使用from __future__ import divisionすると、インポートの有無にかかわらず正常に動作する可能性がありますが、インポートされた名前がどこから来たのかをもっと知りたい場合は、インポートされた名前を見に行くように指示するものがない場所では、異なる (間違った) 結果が得られます。__future__インポートは可能な限り目立たせる必要があります。

また、私は通常、グループ内のインポートをアルファベット順に並べ替えます (これを行う特に正当な理由はありません。差分とブランチのマージに非常に小さな利点があることがわかりました)。__future__インポートは最初にする必要があるため、独自のグループに入れます。 .

于 2012-05-18T08:26:07.130 に答える