一尘不染

将“ get function”用于python类有什么好处?

python

例如,在下面的代码中,getName函数的好处是什么?

class Node(object):
    def __init__(self, name):
        self.name = str(name)
    def getName(self):
        return self.name
    def __str__(self):
        return self.name

阅读 164

收藏
2020-12-20

共1个答案

一尘不染

没有好处。人们从其他语言(例如Java)使用Python有时会这样做,因为他们已经习惯了。在Python中,没有必要创建这些类型的getter和setter,它们除了直接获取和设置基础变量外什么也不做。
如果以后需要执行比获取/设置值更复杂的操作,则属性可以透明地交换逻辑。

使用getters / setters可能会有好处,但是在Python中,没有真正的理由使用琐碎的getters /
setters而不是直接获取/设置属性。我能想到的唯一原因是,如果您必须与需要某些方法集的现有API保持兼容性。

2020-12-20