将“ get function”用于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
-
没有好处。人们从其他语言(例如Java)使用Python有时会这样做,因为他们已经习惯了。在Python中,没有必要创建这些类型的getter和setter,它们除了直接获取和设置基础变量外什么也不做。
如果以后需要执行比获取/设置值更复杂的操作,则属性可以透明地交换逻辑。使用getters / setters可能会有好处,但是在Python中,没有真正的理由使用琐碎的getters /
setters而不是直接获取/设置属性。我能想到的唯一原因是,如果您必须与需要某些方法集的现有API保持兼容性。