12

これは、大きな文字列と PEP8 に関する質問に何らかの形で関連しています。

次の行を持つスクリプトを PEP8 準拠 (「最大行長」ルール) にするにはどうすればよいですか?

pub_key = {
   'e': 3226833362680126101036263622033066816222202666130162062116461326212012222403311326222666622610430466620224662364142L,
   'n': 226421003861041248462826226103022608220328242204422684232640331238220232226321616266146243302342688266846281802662666622213868114632268211186223606846623310006662260110460620201618186828411322260686632603226636226662262862212140221422102106336342228236361106240226122644614266186283436228208626640846820224661642086022346422443282224682686612228404266842316822624342226666622264826123822122031361242246432886612624262663222232331438863220022020826266366016100422L
}
4

6 に答える 6

22

しかし、最も重要なことは、いつ矛盾するかを知ることです。スタイル ガイドが適用されない場合もあります。疑わしい場合は、最善の判断を下してください。

ソース

この場合、大きな整数はそのままにしておきます。

于 2010-01-12T00:50:13.143 に答える
5
'e': 3226833362680126101036263622033066816222202666130162062116461326212012L \
     * 10**45 \
     + 222403311326222666622610430466620224662364142L

私は決してこれを支持しません。

于 2010-01-12T00:52:43.553 に答える
5

私が考えることができる最善の方法は

pub_key = {
   'e': long('3226833362680126101036263622033066816222202666130162062116461326'
             '212012222403311326222666622610430466620224662364142'),
   'n': long('2264210038610412484628262261030226082203282422044226842326403312'
             '3822023222632161626614624330234268826684628180266266662221386811'
             '4632268211186223606846623310006662260110460620201618186828411322'
             '2606866326032266362266622628622121402214221021063363422282363611'
             '0624022612264461426618628343622820862664084682022466164208602234'
             '6422443282224682686612228404266842316822624342226666622264826123'
             '8221220313612422464328866126242626632222323314388632200220208262'
             '66366016100422'),
}

正確に 80 文字です。

于 2010-01-12T00:53:33.863 に答える
2

私はあなたができるとは思わない。PEP8 のガイドラインはガイドラインであり、ガイドラインに従うことができない状況があります。

于 2010-01-12T00:48:40.107 に答える
2

これをインポート

... 特別なケースは、ルールを破るほど特別ではありません。実用性は純粋さに勝りますが。...

于 2010-01-12T00:50:18.440 に答える
1

これは可能です。式を括弧で囲むことにより、長い行を複数の行に分割できます。説明されている場所は次のとおりです。

http://www.python.org/dev/peps/pep-0008/

于 2011-01-19T08:55:09.337 に答える