pythonic是什么意思?

pythonic是什么意思?,python,Python,在许多网站上,我经常看到这样的评论:代码不是pythonic,或者有一种更为pythonic的方式来实现相同的目标 在这种情况下,pythonic是什么意思?例如,为什么 while i < someValue: do_something(list[i]) i += 1 是肾盂的吗 利用Python语言的特性生成清晰、简洁且可维护的代码 Pythonic意味着代码不仅要正确语法,而且要遵循Python社区的约定,并以预期的方式使用该语言 这可能是最容易用否定的例子来解释的,就

在许多网站上,我经常看到这样的评论:代码不是pythonic,或者有一种更为pythonic的方式来实现相同的目标

在这种情况下,pythonic是什么意思?例如,为什么

while i < someValue:
   do_something(list[i])
   i += 1

是肾盂的吗

利用Python语言的特性生成清晰、简洁且可维护的代码

Pythonic意味着代码不仅要正确语法,而且要遵循Python社区的约定,并以预期的方式使用该语言

这可能是最容易用否定的例子来解释的,就像其他答案中的链接文章一样。非Python代码的示例通常来自其他语言的用户,他们没有学习Python编程模式,例如列表理解或生成器表达式,而是尝试在C或java中更常用的模式中使用撬棍。循环是这方面特别常见的例子

例如,在Java中,我可能会使用

for(int index=0; index < items.length; index++) {
     items[index].performAction();
}
或者,甚至是生成器表达式

(item.some_attribute for item in items)
因此,本质上,当有人说某些东西是非Python的时,他们说代码可以以一种更适合Python编码风格的方式重新编写


在命令行中键入
import this
,可以总结Python的原理。不太为人所知的是,
import this
的源代码显然是非音速的,而且是经过设计的!看一看这个例子,看看什么是不应该做的。

等等……这是一个离题的问题。您可以提供一个小的代码示例,使其更符合主题。顺便说一句,“导入此”的源代码如下:在不同的字段中有什么示例?比如烹饪、设计、驾驶……比如一些更复杂的代码,维格纳密码的“非音速”实现在这个答案中逐渐变得更“pythonic”(披露:我的代码和观点):我想我应该在这里留下一条评论,因为我的用户名也可能值得注意
for item in items:
  item.perform_action()
(item.some_attribute for item in items)