Pythonic到底是什么玩意儿?
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 这是几个月前在 EuroPython 邮件列表(主要用来组织和计划 EuroPython 会议的邮件列表)出现的问题。这是一个非常有意思的问题,我看到这个词被无数次地使用,但鲜有人尝试解释它的含义。在这条线索之后,许多不同的人,包括我自己,都给出了自己的答案。现在我把我的答案放到博客上,并且润色了一下,希望它能对您有所增益。 Pythonnic 是一个模糊的概念,尽管没有“智能”或“生命”那么模糊,但当你尝试定义它们的时候,就像去抓住一条滑溜溜的泥鳅一样无从下手。可是虽然它们难以定义,然而并不意味着它们没用,因为事实上人们其实极善于利用混乱的定义。 Pythonic 有点像“ Python 惯用法”的意味,现在让我们来聊聊它真正的含义。 随着时间的推移, Python 语言不断演进,社区不断成长,涌现了许多关于如何正确地使用 Python 的 ideas 。一方面 Python 语言推荐使用大量的惯用法来完成任务(“完成任务的唯一方法”),另一方面,社区不断演变的新的惯用法的又反过来影响了语言的进化,以更好地支持惯用法。比如新进入的字典的 .get() 方法,它把 has_key() 和元素存取两个操作组合为一个操作,从中可以看出这种进化。 惯用法往往不能直接从其它编程语言移植过来