你总是要用初始化作为构造函数吗?

2024-04-16 06:46:48 发布

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

  1. 你总是必须使用__init__作为构造函数吗?你知道吗
  2. 在一个类中可以使用多少个构造函数?你知道吗
  3. 你需要用“self”作为第一个参数,还是可以用“shapes”等其他名称来代替“self”?你知道吗

Tags: self名称参数initshapes
2条回答

初始化实例的唯一构造函数是__init__。如果需要多态性,只需灵活地分析和解释__init__的输入参数。你有没有用它?不,您可以省略它,在这种情况下,Python调用超类的__init__方法(如果有的话)。你知道吗

还有一个方法叫做__new__,在__init__之前调用,但是它的目的不同,行为也不同:请参见https://stackoverflow.com/a/674369/3019689

不,可以重命名self,但结果将是可读性较差、可维护性较差的代码,因为self是公认的常规名称。你知道吗

  1. 构造函数是可选的。但是,如果指定一个函数,则必须将其命名为__init__;不能将其命名为任何其他名称(否则,Python如何知道哪个函数是构造函数?)。你知道吗
  2. 一个叫做__init__(尽管它可以调用其他函数)。你知道吗
  3. 不,但是使用除self以外的名称会使您的代码更难被其他人阅读,他们希望按照惯例使用self名称。你知道吗

相关问题 更多 >