pythonic是什么意思?
在很多网站上,我经常看到代码不是py pyonic的评论,或者是为了实现相同的目标而采取更为pythonic的方式。
pythonic在这种情况下意味着什么? 例如,为什么
while i < someValue: do_something(list[i]) i += 1
不pythonic时
for x in list: doSomething(x)
是pythonic?
利用Python语言的特性来生成清晰,简洁和可维护的代码。
Pythonic是指不仅能正确使用语法的代码,而且还遵循Python社区的约定,并按照打算使用的方式使用该语言。
这可能是最容易解释的负面例子,如在其他答案的链接文章。 unpythonic代码的例子通常来自其他语言的用户,而不是学习Python编程模式(如列表parsing或生成器expression式),试图在C或java中更常用的模式中撬棍。 循环是特别常见的例子。
例如在Java中我可能会使用
for i in (i; i < items.length ; i++) { n = items[i]; ... now do something }
在Python中,我们可以尝试使用while循环来复制它,但使用起来会更干净
for i in items: i.perform_action()
或者甚至是一个生成器expression式
(i.some_attribute for i in items)
所以,基本上当有人说某些东西是非音素的时候,他们说这些代码可以用更适合Python编码风格的方式重写。
在命令行import this
命令可以给出Python原理的总结。 鲜为人知的是, import this
源代码是明智的,并通过devise,unpythonic! 看一看它不能做什么的例子。