我经常编写仅接收一个参数用于数据操作的函数,以及一个或多个其他参数来指定操作。如果这些“规范”参数是可选的,将它们放在必须的 data
参数之后是有意义的:
sort(data, key=..., reverse=True)
但是如果两个(或多个)参数都是必须的呢?re
模块的函数将正则表达式(操作)放在字符串(要操作的数据)之前。当然,可选参数仍然是最后一个。
re.search(r"[regexp]+", text, flags=re.I)
所以问题是:抛开可选参数,有没有明确的约定(官方PEP或已经建立的常规做法)来根据功能/目的对必需参数进行排序?当我第一次学习Python时,我记得读到过一些关于Python优点的说法之一是它有明确的惯例,包括在这个特定的事情上。但是现在我无法检索到任何此类信息。
如果不清楚:我很客气地要求指向已建立的惯例或标准的指针,而不是要求哪种顺序是“最佳”的建议。
map(f, data)
和filter
的工作方式类似... 对我来说,最重要的是在API中保持一致性。 - juanpa.arrivillaga