类变量未保存

时间:2017-05-21 11:22:06

标签: python class variables

我正在研究一个简单的python类,但我有一个奇怪的问题,即为类变量赋值

class browser(object):
    def __init__(self, url):
        self.event_url = url

    def find(self):
        print(self.event_url)

browser = browser('this is a test string')
browser.find    #this prints an empty string...

在其他语言的实验中,我假设self.event_url现在包含'这是一个测试字符串'。我可以通过在 init 中打印值来确认这一点。这很好用。但是当我想从另一个函数访问这个值时,变量是空的。

我希望有人能解释一下我没有看到的东西。

提前谢谢!

2 个答案:

答案 0 :(得分:1)

browser.find    #this prints an empty string...

不,不,根本不打印。如果您编写browser.find,则会获得对find函数的引用(已填写self)。但你确实没有调用函数。你应该写:

browser.find()
#           ^^ function call

此外请注意 - 就像@JonClements所说 - 你应该用大写命名你的班级,所以Browser。否则,如果您编写browser = browser(),则无法再构建新的浏览器。

答案 1 :(得分:0)

您需要输入browser.find()。你忘记了括号。