虽然frozendictwasrejected,相关类types.MappingProxyType已添加到python3.3中的公共(public)API。我知道MappingProxyType只是底层dict的包装器,但尽管如此,它在功能上不等同于frozendict吗?换句话说,原始的PEP416frozendict和这个有什么本质区别:fromtypesimportMappingProxyTypedeffrozendict(*args,**kwargs):returnMappingProxyType(dict(*args,**kwargs))当然MappingProxyType不
我想每个Python代码都看过PEP8.对我来说最突出的部分是:Limitalllinestoamaximumof79characters.我正坐在宽屏显示器前,在屏幕上编程。我不在终端中编码,也不打算在终端中编码。因此,我对字符行限制没有任何问题。有多少人真正遵守这个限制?如果您不在80个字符限制的终端中编码,您还会遵循它吗?我不遵守它是不是很糟糕?我讨厌这种限制与Python的“风格指南”分开>。 最佳答案 PEP8:Butmostimportantly:knowwhentobeinconsistent--sometimesth
在哪里可以找到PEP302中描述的“新导入Hook”的示例实现?我想以尽可能向前兼容的方式实现自定义查找器和加载器。换句话说,该实现应该适用于python2.x和3.x。 最佳答案 您可以找到数以千计的开源示例,例如用googlecodesearch,这里是:http://www.google.com/codesearch?hl=en&lr=&q="imp.find_module"+"imp.load_module"&sbtn=Search编辑:正如发问者澄清的那样,他正在寻找实现的例子,而不是使用,更好的URL搜索是:http:/
这在某种程度上与questionaboutbigstringsandPEP8有关.如何使我的脚本符合PEP8的以下行(“最大行长度”规则)?pub_key={'e':3226833362680126101036263622033066816222202666130162062116461326212012222403311326222666622610430466620224662364142L,'n':22642100386104124846282622610302260822032824220442268423264033123822023222632161626614624330
来自PEP8:-Importsshouldusuallybeonseparatelines,e.g.:Yes:importosimportsysNo:importsys,osit'sokaytosaythisthough:fromsubprocessimportPopen,PIPE我认为逗号分隔的样式更简单、更短、更易于阅读和编写,直到我阅读PEP8。它有什么缺点吗?PEP8对此没有给出任何解释。所以我的问题是,为什么这样不好? 最佳答案 一个原因可能是源代码控制系统在每一行的基础上识别差异比在源代码行中识别差异更容易。与许多PEP
我正在做代码审查,看到这样的方法声明:def__init__(self,data):我一直认为应该这样格式化:def__init__(self,data):但后来我检查了PEP0008并没有看到关于这一点的确切说法。有关于运算符周围和括号内的空格的指南,但没有关于逗号分隔列表的指南。如果PEP8中没有描述,可能有一些不成文的约定?为什么我确信这是在PEP8中?PEP8应该更新吗? 最佳答案 我在PEP8中也找不到相应的句子,但我猜大多数人认为这条规则在PEP8中的原因是pippep8.根据他们的document:E231missin
Python结束PEP 8我正在阅读:不要使用==将bool值与True或False进行比较Yes:ifgreeting:No:ifgreeting==True:Worse:ifgreetingisTrue:当bool值是True时,我对这个建议没有问题,但在检查False时听起来很奇怪。如果我想知道一个变量greeting是否为False,为什么我不应该写下面的代码?ifgreeting==False:如果我写ifnotgreeting:它将与上面的语句有非常不同的含义。如果greeting是None怎么办?如果是空字符串怎么办?此PEP8建议是否意味着存储bool值的变量应仅包含T
我找不到任何对此细节的PEP引用。函数定义后一定要空行吗?我应该这样做吗:defhello_function():return'hello'或者我应该这样做:defhello_function():return'hello'同样的问题适用于使用文档字符串时:这个:defhello_function():"""Importantfunction"""return'hello'或者这个defhello_function():"""Importantfunction"""return'hello'编辑正如FoxMaSk评论的那样,这是PEP在空行中所说的内容,但它没有说明任何细节。Blank
我可以配置PyCharm在执行自动PEP8样式检查时发送给pep8.py的命令行参数吗?我想做类似的事情$pep8--ignore=E231foo.py但是,在PyCharm的“项目设置”->“检查”下,我只看到启用/禁用聚合PEP8样式检查的选项,但看不到启用/禁用特定PEP8违规的选项。 最佳答案 在这里找到解决方案:http://iambigblind.blogspot.de/2013/02/configuring-pep8py-support-in-pycharm-27.html只需将E501添加到忽略错误列表中,警告就会在
我在Django中有一个类似这样的长url模式:url(r'^(?i)top-dir/(?P[-\w]+?)/(?P[-\w]+?)/(?P[-\w]+?).html/$','apps.Discussion.views.pricing',肯定它不遵循PEP8指南,因为字符在一行中超过80个。我找到了两种解决方法:第一个(使用反斜杠):url(r'^(?i)top-dir/(?P[-\w]+?)/(?P[-\w]+?)'\'/(?P[-\w]+?).html/$','apps.Discussion.views.pricing',第二个-使用():url((r'^(?i)top-dir/(