是否有警告用户传递的参数将被修改的约定?

Is there a convention to warn user that a passed parameter will be modified?

在 python 和(可选)pep8 中,是否有一种传统的方式向用户发出信号,表明传递的参数(例如 dict)将被调用的函数修改?

从函数返回 None 用作对象可能已就地修改的指示符。例如,sort() returns None,而 sorted() returns 是输入列表的排序副本,并单独保留输入本身(尽管实际上, sort() 是列表中的方法)。

这不是最好的指标:拥有良好的文档并将其拼写在文档字符串的顶部附近可能更好(例如 random.shuffle)。
但这似乎是内置和标准库函数所做的。


关于其他一些库的简要说明:NumPy 的 sort returns 并且不会就地修改,因此与内置的 sort 函数相比,它具有不同的行为。 Pandas 函数和方法通常有一个 inplace 布尔参数,默认情况下往往是 False,因此默认情况下,返回修改后的副本。