28

Python 辞書のキーにスペースを使用できることは知っていますが、それは悪いプログラミングと見なされますか? これに関する PEP には何も見つかりませんでした。

明確化のために編集:私が行っているプロジェクトでは、Apacheからのスコアボード出力を解析することに取り組んでいますmod_status(以下の出力例を参照してください)。ベストプラクティスを理解しようとしているだけです。私はこれで終わるべきですか:

workers = {'W': 1,
           '_': 9,
           ...}

またはこれ:

workers = {'Sending Reply': 1,
           'Waiting for Connection': 9,
           ...}

出力例mod_status:

_....___W____._.................................................
................................................................
................................................................
................................................................
Scoreboard Key:
"_" Waiting for Connection, "S" Starting up, "R" Reading Request,
"W" Sending Reply, "K" Keepalive (read), "D" DNS Lookup,
"C" Closing connection, "L" Logging, "G" Gracefully finishing,
"I" Idle cleanup of worker, "." Open slot with no current process
4

4 に答える 4

29

pylintなどのツールを使用して、コードがPEP8と互換性があるかどうかを確認できます。

だから私は次のようなものを試しました:

M_D1 = {" foo bar ":1, " a bc":2, " ":3}

そしてpylintは私に10/10の評価を与えたので、キーで使用されるスペースに問題はないと思います。

于 2012-11-20T14:20:31.587 に答える
10

obj.fooobj['foo']. _ この場合、最初のバージョンが機能しないため、スペースは不適切な形式と見なされる可能性があります。そもそも Python にはそのオプションがないため、問題は発生しません。

于 2012-11-20T14:09:43.927 に答える
4

キーが文字列の場合、何でも含まれている可能性があります。

彼らは何を表すべきですか?例を挙げる。

于 2012-11-20T14:08:35.243 に答える
2

キーは任意の (文字列) にすることができます。それらを内部で使用している場合、スペースは最適なアイデアではない可能性があります。そうでなければ - わかりました。

于 2012-11-20T14:09:22.203 に答える