python中的self和__init__用法

时间:2016-02-09 17:39:46

标签: python

我正在浏览python书"潜入python"并且发现了以下文字:

  

定义类方法时,必须将self显式列为每个方法的第一个参数,   包括__init__。当您从类中调用祖先类的方法时,必须包括   self参数。但是当你从外面调用你的类方法时,你没有指定任何东西   self参数;你完全跳过它,Python会自动为你添加实例引用。

请借助示例帮助我理解本文。

1 个答案:

答案 0 :(得分:1)

“自我”这个名字只是一个惯例。如果你熟悉C ++,你可以调用类指针“this”而不是“self”,python编译器会生成相同的代码。

从类内部,您可以直接调用任何函数,而不需要“类对象”。作为前缀。但是,您必须显式提供可能是“self”的类指针。

在类外调用函数时,您无法选择将类对象作为前缀。 python编译器自动将该类对象作为该函数的第一个参数。