在Python中使用getter实现只读访问是否毫无意义?
Python中使用Getter的额外理由?
实现只读访问的一种方法是创建不带setter的getter,以下是Python中的实现示例:
class Inventory: _items: list[Item] @property def items(self) -> list[Item]: return self._items
但由于Python没有严格的访问限制机制,外部代码仍然可以直接查看、读取甚至修改._items。
既然如此,我也可以移除getter,将.items作为普通成员变量来使用——毕竟Python无论如何都不会限制访问,这样还能减少代码开销和需要维护的成员数量:
class Inventory: items: list[Item]
我认为getter的主要好处是通过约定向其他开发者传递信号,避免他们直接访问底层成员。除此之外,还有其他支持使用getter的理由吗?
内容的提问来源于stack exchange,提问作者Michael Moreno
相关产品推荐
相关产品推荐

