2

三重引用符文字列が docstring として使用されていることは知っていますが、2 つの文字列リテラルが本当に必要なのでしょうか?

単線と複線の識別が役立つユースケースはありますか。

Clojure には 1 つの文字列リテラルがあり、複数行であり、docstring として使用します。では、なぜpythonの違いなのですか?

4

1 に答える 1

2

複数行の文字列リテラルの作成について明示する必要があることの利点は、おそらく次の例で最もよく示されています。

with open("filename.ext) as f:
    for line in f:
        print(line.upper())

もちろん、まともな構文強調表示エディタはそれをキャッチしますが、次のようになります。

  1. 構文を強調表示するエディターを使用しているとは限りません
  2. Python は、使用しているエディターを制御できませ

Python の設計原則の 2 つは、

  • エラーは黙って通過するべきではありません。
  • 明示的は暗黙的よりも優れています。

docstring の外では、Python で複数行の文字列が使用されることはめったにないため、上記の例は、複数行の文字列が必要な場合よりも発生する可能性がはるかに高くなります (誰もがタイプミスをすることがあります)。 .

これは、適切で一貫したインデントの実践を強制するという点で、Python の重要な空白の使用に似ています。これは、たとえば中括弧で区切られた言語よりもはるかに簡単にエラーを見つけられることを意味します。

于 2013-08-17T23:42:35.510 に答える