在python的构造函数之外创建实例方法

2024-10-03 21:33:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我可以让代码正常工作,但我想知道在构造函数之外的类上设置实例方法是否正确。当我写这篇文章的时候,感觉不太对劲,但是我想不出在构造函数中实现它的方法。任何关于如何重构的帮助都将不胜感激。你知道吗

谢谢!你知道吗

class Parser():

    def __init__(self, uri):
        self.uri = uri

    def createSoup(self):
        htmlPage = urlopen(self.uri)
        htmlText = htmlPage.read()
        self.soup = BeautifulSoup(htmlText)

def main():
    urls = Url().return_urls()
    p = Parser(urls[test])
    p.createSoup()
    print(p.soup)


if __name__ == '__main__':
    main()

我本以为这样会更好,但我没能让它发挥作用自助汤在构造函数中,如下所示:

def __init__(self, uri):
    self.uri = uri
    self.soup = BeautifulSoup(htmlText)

Tags: 实例方法代码selfparserinitmaindef
1条回答
网友
1楼 · 发布于 2024-10-03 21:33:32

这对你有帮助吗?。在init内调用createSoup函数。你知道吗

class Parser():

    def __init__(self, uri):
        self.uri = uri
        self.soup = self.createSoup()

    def createSoup(self):
        htmlPage = urlopen(self.uri)
        htmlText = htmlPage.read()
        return BeautifulSoup(htmlText)

另一种方法是在main()方法中创建BeautifulSoup实例,并将其作为参数发送给Parser as Parser(url[test],BeautifulSoup\u instance)并将其分配给自助汤在init()函数中。你知道吗

相关问题 更多 >