
如果你是编程新手,尤其是 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教程欢迎持续关注编程学习网。
扫码二维码 获取免费视频学习资料

- 本文固定链接: http://www.phpxs.com/post/14080/
- 转载请注明:转载必须在正文中标注并保留原文链接
- 扫码: 扫上方二维码获取免费视频资料
