0
작동하도록 코드를 가져올 수 있지만 생성자 외부의 클래스에서 인스턴스 메서드를 설정하는 것이 맞는지 궁금합니다. 내가 이것을 썼을 때, 그것은 옳다고 느끼지 않았지만 나는 생성자 안에서 그것을 할 수있는 방법을 알 수 없었다. 이것을 리펙토링하는 방법에 대한 도움은 크게 감사하겠습니다.파이썬에서 생성자 밖에 인스턴스 메서드를 생성합니다.
감사합니다.
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()
지금과 같은 생성자에서 self.soup을 설정하는 내가 더 좋을 거라 생각했지만, 내가 작업에 얻을 수 있었다 :
def __init__(self, uri):
self.uri = uri
self.soup = BeautifulSoup(htmlText)
이것은 방법이 아니며 속성입니다. 또한, 당신이'__init__'에서 그것을 시도했을 때 어떤 식으로 작동하지 않았습니까? – BrenBarn