2024-06-25 23:15:04 发布
网友
在许多网站上,我经常看到这样的评论:代码不是pythonic,或者有一种更像pythonic的方法来实现相同的目标。
在这种情况下,Python是什么意思?例如,为什么
while i < someValue: do_something(list[i]) i += 1
不是Python
for x in list: doSomething(x)
是Python吗?
利用Python语言的特性生成清晰、简洁和可维护的代码。
Pythonic指的是不只是正确语法的代码,而是遵循Python社区的惯例并按照预期的方式使用该语言的代码。
这也许是最容易用否定的例子来解释的,就像其他答案中的链接文章一样。不通顺代码的例子通常来自于其他语言的用户,他们不学习Python编程模式,比如列表理解或生成器表达式,而是试图在C或java中更常用的模式中使用crowbar。循环尤其是常见的例子。
例如在Java中,我可能使用
for i in (i; i < items.length ; i++) { n = items[i]; ... now do something }
在Python中,我们可以尝试使用while循环来复制它,但是使用while循环会更干净
for i in items: i.perform_action()
或者,甚至是一个生成器表达式
(i.some_attribute for i in items)
所以本质上,当有人说某件事不符合语法时,他们是说代码可以用更适合pythons编码风格的方式重新编写。
在命令行键入import this可以总结Python的原理。不太为人所知的是,import this的源代码是绝对的,而且从设计上讲,是不通顺的!看一看它作为不该做什么的例子。
import this
利用Python语言的特性生成清晰、简洁和可维护的代码。
Pythonic指的是不只是正确语法的代码,而是遵循Python社区的惯例并按照预期的方式使用该语言的代码。
这也许是最容易用否定的例子来解释的,就像其他答案中的链接文章一样。不通顺代码的例子通常来自于其他语言的用户,他们不学习Python编程模式,比如列表理解或生成器表达式,而是试图在C或java中更常用的模式中使用crowbar。循环尤其是常见的例子。
例如在Java中,我可能使用
在Python中,我们可以尝试使用while循环来复制它,但是使用while循环会更干净
或者,甚至是一个生成器表达式
所以本质上,当有人说某件事不符合语法时,他们是说代码可以用更适合pythons编码风格的方式重新编写。
在命令行键入
import this
可以总结Python的原理。不太为人所知的是,import this
的源代码是绝对的,而且从设计上讲,是不通顺的!看一看它作为不该做什么的例子。相关问题 更多 >
编程相关推荐