9

インポートに関する同様の質問から、「運用コード」とimport(それらは一番上にある必要があります)を混在させてはならないことを学びました。

「運用コード」の途中で関数を定義することに関するコンセンサスは何ですか?

関数が 1 か所だけで使用され (関数である必要があります)、その定義をそのコード片に近づけることが理にかなっている場合があります (すべてがグループ化されます)。ただし、コードの流れを視覚的に中断します。

PEP から何かアドバイスはありますか? ( とは対照的に、関連するものは何も見つかりませんでしたimport)

編集:答えの明らかな傾向は、それは良いことではないということですが、import上記の場合とは異なり、決定的な指示はありません(たとえばPEP)

4

6 に答える 6

0

これは、「入れ子よりもフラットの方が良い」に関連している場合があることがわかりました。例えば、

def dist(x, y):
    return abs(x - y)

for a, v in ls1:
    ls2.append(dist(a, b))

for a, v in ls1:
    def dist(x, y):
        return abs(x - y)

    ls2.append(dist(a, b))

個人的には、関数と操作コードを混在させることがあります。それに対する特定の PEP は見当たりませんが、コード編成の一般的な考慮事項は依然として考慮に入れる必要があります。

于 2013-11-14T07:22:20.900 に答える
0

問題は、操作コードが長すぎることだと思います。そのため、操作コードの前にその関数を定義すると、呼び出された場所から離れすぎます。

Python だけでなく、非常に長いコードを使用することは、通常は良い考えではありません。私の提案は、長い運用コードをモジュール (関数またはクラス) に分割する方法を見つけることです。

于 2013-11-14T07:10:34.653 に答える