我想知道是否有一种适当的Python约定来区分那些会就地修改其参数和那些会保留其参数并返回已更改副本的函数。例如,考虑两个应用某些置换的函数。函数
对于上面的示例,我认为可以将
有没有一种标准方法来解决这个问题?
f
接受一个列表作为参数并对元素进行洗牌,而函数g
接受一个列表,复制它,应用f
,然后返回更改后的副本。对于上面的示例,我认为可以将
f
称为permute(x)
,而将g
称为permutation(x)
,使用动词和名词来区分。但这并不总是最优的,在某些情况下,这可能会导致混淆,特别是如果f
要返回其他值时,人们可能会困惑参数是否会被更改。有没有一种标准方法来解决这个问题?
list.reverse
和reversed
。 - Stefan Pochmannlistobj.sort()
是一个方法并不重要;相同的规则也适用于sort(listobj)
和sorted(listobj)
。 - Martijn Pieterspermute(x)
和permuted(x)
,这很清晰明了。 - Joost