作为一种新语言,我无法理解为什么Python中两个内置函数sorted和reversed要以过去分词形式命名,而其他函数如format或filter则以动词形式命名。这些函数为什么不能像其他几种语言一样被命名为sort和reverse呢?
从语义上讲,我更希望sorted返回一个布尔值--就像sorted?一样,指示传递的列表是否已排序,但这可能是其他语言对我的影响。
但是,为什么将sorted和reversed命名为这种方式,我无法理解?
更新:由于几乎所有的答案/评论都没有点到关键,因此我想强调一下。我知道这两个函数都返回新的对象,不会修改传递给它们的内容。
但是,在同样的精神下,filter不能被命名为filtered,format不能被命名为formatted吗?这样的话,整个语言的命名就更加一致了。
第二次更新:既然这个问题似乎是基于“观点”的,那么很可能只是语言设计者的观点使它被这样命名。也许在Python内置函数命名方面并没有理由保持一致性。
如果有理由,请帮忙回答:format是否也可以被命名为formatted以实现统一性和一致性?
从语义上讲,我更希望sorted返回一个布尔值--就像sorted?一样,指示传递的列表是否已排序,但这可能是其他语言对我的影响。
但是,为什么将sorted和reversed命名为这种方式,我无法理解?
更新:由于几乎所有的答案/评论都没有点到关键,因此我想强调一下。我知道这两个函数都返回新的对象,不会修改传递给它们的内容。
但是,在同样的精神下,filter不能被命名为filtered,format不能被命名为formatted吗?这样的话,整个语言的命名就更加一致了。
第二次更新:既然这个问题似乎是基于“观点”的,那么很可能只是语言设计者的观点使它被这样命名。也许在Python内置函数命名方面并没有理由保持一致性。
如果有理由,请帮忙回答:format是否也可以被命名为formatted以实现统一性和一致性?
sort
和reverse
这两个列表方法。我猜测内置函数sorted
和reversed
被赋予不同的名称,是因为它们与它们的方法版本执行不同的操作。具体而言,方法会就地修改列表并返回None,而函数则不会修改列表,并返回一个带有所需修改的对象的新副本或迭代器。 - Kevinif issorted(lst):
的东西;我猜sorted
可以被看作是一种缩写形式,但它也可能会变得令人困惑。 - 9769953