我正在研究一个简单的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 中打印值来确认这一点。这很好用。但是当我想从另一个函数访问这个值时,变量是空的。
我希望有人能解释一下我没有看到的东西。
提前谢谢!
答案 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()。你忘记了括号。