编程学习网 > 编程语言 > Python > 你写的Python代码还是Pythonic代码?
2026
04-09

你写的Python代码还是Pythonic代码?


如果你是编程新手,尤其是 Python 新手,你可能听说过 Pythonic 这个词在各种技术会议和公司中经常被提起,你可能还想知道为什么有这个术语?所以这篇文章我们将了解 Pythonic 一词的含义,以及为什么你应该对学习如何不仅编写 Python 代码感兴趣,而且还要编写 Pythonic 代码。

Pythonic 是什么意思?

当人们谈论 Pythonic 代码时,他们的意思是代码很好地使用了 Python 习语,它是自然的或在语言中表现出流利程度,换句话说,它意味着 Python 社区采用的最广泛采用的习语,如果有人说你正在编写非 Python 代码,他们实际上可能意味着你正在尝试用 Python 编写 Java/C++ 代码,而忽略 Python 习语,而不是从其他语言的习语翻译,如果现在你已经对 Pythonic(和非 Pythonic)的含义有了一个理论上的了解,让我们来看看实践中的一些 Pythonic 代码。

编写 Pythonic 代码在我们进入一些示例之前,你可能想知道是否存在编写 Pythonic 代码的已定义方式/方法,实际上是有的,它被称为 PEP 8,它是 Python 的官方风格指南。

示例 #1


考虑上面的代码,你试图将一些元素“x”乘以 2。

所以,我们在这里所做的是,我们创建了一个空列表来存储结果, 然后,我们会将计算的解决方案附加到结果中, 结果现在包含一个函数,该函数是 2 乘以每个元素。

现在,如果你要以 Pythonic 方式编写相同的代码,你可能只想简单地使用列表推导式, 就是这样:


你可能已经注意到,我们跳过了整个 for 循环!

示例 #2

让我们让前面的例子更复杂一些,并设置一个条件,即只有元素是偶数时才应该乘以 2。


我们实际上已经创建了一个 if else 语句来解决这个问题,但是有一种更简单的 Pythonic 方式来处理事情。


如果你注意到我们在这里所做的,除了跳过多行代码之外,我们在同一个句子中使用了 if-else 语句, 现在,如果你想执行过滤,你可以这样做:


我们在这里所做的是将 if 语句放在 for 声明之后,这样我们已经实现了过滤。

如果你使用像 Jupyter Notebooks 或 PyCharm 这样的优秀 IDE,它们将帮助你按照 PEP 8 建议格式化你的代码。

为什么要编写 Pythonic 代码?

首先,你可以节省大量编写大量啰嗦代码的时间,因此你显然正在成为一个更聪明、更有效率的程序员,使用惯用的 Pythonic 代码,你可以提高程序的速度,此外,对于使用相同代码的其他开发人员来说,惯用代码更容易理解和理解,当你试图重构别人的代码时,它会很有帮助。

害怕 Pythonic?

我并不是说Pythonic 本身很可怕,相反,相当多的开发人员和组织已经开始根据某人是否可以编写 Pythonic 代码来进行区分,这是错误的,因为归根结底,尽管 PEP 8 存在,但 Pythonic 一词的概念对于不同的人来说是不同的,对某些人来说,这可能意味着选择新的风格指南并改进你的编码方式,对其他人来说,这可能意味着简洁而不重复。

建议不要再判断人们是否可以编写 Pythonic 代码了,相反,我们应该根据实际情况让代码更可读、简洁和易于维护。

以上就是“你写的Python代码还是Pythonic代码?的详细内容,想要了解更多Python教程欢迎持续关注编程学习网。

扫码二维码 获取免费视频学习资料

Python编程学习

查 看2022高级编程视频教程免费获取