PEP8 - 80个字符 - 大整数

12

这与有关大字符串和PEP8的问题有些相关。

我该如何使得以下代码行符合PEP8("最大行长度"规则)?

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

@Anon:怎么做?(我也同样神秘!) - Alok Singhal
虽然不太熟悉Python的语法,但是假设在这个声明中可以进行算术运算,它可能会像这样:32268333626801261010362 * pow(10, howevermany),然后在每个连续的行中添加更多内容。 - Anon.
4
十六进制可以缩短一些字符……但是,严肃地说,PEP8只是一个风格指南,而不是风格规则。 - Sufian
PEP8不是法律,它只是一个建议。你为什么问呢? - S.Lott
4
没人需要去读那些数字,让它们溢出并滚动吧。(80个字符太过严格,在这里坚持使用没有任何好处。) - bobince
6个回答

22

但最重要的是:要知道何时可以不遵守规范--有时候风格指南并不适用。当你犹豫不决时,要运用自己的判断力。

来源

在这种情况下,我会保留大整数的原样。


5
'e': 3226833362680126101036263622033066816222202666130162062116461326212012L \
     * 10**45 \
     + 222403311326222666622610430466620224662364142L

我绝不支持这个。


5
我能提供的最佳方式是:
pub_key = {
   'e': long('3226833362680126101036263622033066816222202666130162062116461326'
             '212012222403311326222666622610430466620224662364142'),
   'n': long('2264210038610412484628262261030226082203282422044226842326403312'
             '3822023222632161626614624330234268826684628180266266662221386811'
             '4632268211186223606846623310006662260110460620201618186828411322'
             '2606866326032266362266622628622121402214221021063363422282363611'
             '0624022612264461426618628343622820862664084682022466164208602234'
             '6422443282224682686612228404266842316822624342226666622264826123'
             '8221220313612422464328866126242626632222323314388632200220208262'
             '66366016100422'),
}

恰好80个字符。


3
在我看来,为了遵循风格指南而调用附加函数有些过头了。不过这是一个有趣的解决方案。 - GmonC

2

我认为你无法做到。PEP8中的指南只是指南,有时候不可能遵循这些指南。


2

导入此

... 特殊情况并不足以打破规则。 尽管实用性胜过纯洁性。 ...


1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接