如何在python类中访问访问器

时间:2015-03-26 20:46:52

标签: python python-3.x

我正在尝试访问访问者getSentence()但是我收到错误

AttributeError: 'Sentence' object has no attribute '_string'

我看了很多图书馆,他们说回归的正确方法是

self._

这是我的代码:

class Sentence:
    def __init__(self, string):
        self.string = string
    def getSentence(self):
        return self._string
    def getWords(self):
        return self._aList
    def getLength(self):
        return len(self._string)
    def getNumWords(self):
        return len(self._string.split())


hippo = Sentence("hello world")
hippo.getSentence()

1 个答案:

答案 0 :(得分:3)

__init__ {...}}中,您分配给self.string,而不是self._string。只需将其更正为self._string 将您在getSentence()中访问的属性重命名为self.string

那就是说,你真的不需要这里的访问者。如果您将名称保留为string,则可以使用hippo.string并完成该操作。如果他们所做的只是返回属性的值,那么访问器并不是那么有用。