def __init__(self): ...
使用 Django 一段时间后,我习惯了在不声明变量的情况下使用类。我曾经在__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()