Python 中的常量参数

Fel*_*lix 5 python constants immutability

我有一个对象(numpy.ndarray例如),它应该作为参数传递给几个函数。在 C++ 中,在这种情况下,我声明了这样的参数const,以表明它们不能被更改。

我如何在 Python 中做同样的事情?

Bar*_*zKP 6

从语法上来说,你不能。你有两个选择:

  • 将对象的副本传递给这些函数 - 这样,您就不必担心它被损坏

  • 创建一个包装器,它实现所需的接口,包装您的对象,并且不允许修改

当然,只有当您知道需要什么接口并且它很简单时,第二个选项才是可能的。