何时使用以及何时不在Python 2.7中使用__init__

时间:2017-01-06 13:05:33

标签: python-2.7 oop

我刚刚开始从Zed A. Shaw的Learn Python The Hard Way学习Python。 但是,我很困惑何时应该使用init方法? 是否必须使用它? 我怎么了?

1 个答案:

答案 0 :(得分:2)

也许别人有更好的答案,但这就是我理解的方式。建造房屋蓝图的比喻在这里运作良好。假设你有一个住房开发项目,有许多不同的房子,看起来基本相同,略有不同。建造房屋要求您每次都做同样的事情,然后添加自定义。

您的类声明就像蓝图一样,告诉您的Python程序需要知道的有关房屋的所有信息。但是,您的__init__方法提供了该对象的绝对基本要求的说明。

就像你没有一扇没有门的房子一样,你不能拥有一个Student物体或一个Pet物体,而没有像名字,年龄这样的基本属性。您的__init__方法会告诉Python每当您创建新学生或宠物时需要做什么,就像蓝图会告诉总承包商每个房子都需要一扇门。

__init__方法还会建立对象的self变量。 self允许您具体了解类的单一副本的变量赋值。

希望这有帮助!