Django をしばらく使用した後、def __init__(self): ...
変数を宣言するときにクラスを使用することに慣れました。以前は関数で変数を宣言していました__init__
が、必要のない場合があることに気づきました。いつ使用するかどうかが不明です。クラスを変数に渡そうとすると問題があるようですが、このような場合にinitを使用する必要がありますか?
すべての場合に使用できることはわかって__init__
いますが、短いクラスがなくてもきれいになるだけなので、いつ使用できるか、使用できないかを知りたいです。
例:
class BaseScraper(object):
# whithout __init__, passing Site() to site wont work.
# site = Site()
# parser = None
def __init__(self):
self.site = Site()
self.parser = None
class Site(object):
# no trouble declaring url as a str
url = ""
def set(self, url):
self.url = url
def get(self):
return self.url
if __name__ == "__main__":
scraper = BaseScraper()
scraper.site.set('http://www.google.com')
print scraper.site.get()