艰难理解:类中属性初始化

def __init__(self,name):

    """初始化属性name,age"""

    self.name = name

理解:self.name = name

self.name 是一个带前缀self的变量,它可以被类中所有的方法调用,也可以被类的实例访问。self.name = name的意思是把__init__中形参name中的值存储到变量self.name中?

方法调用实参的时候,是要用self.name,可是实例访问的时候为什么是实例名.name了

 

 

self相当于c/c++/java中的this指针,指向当前类,你在类中调用实参的时候需要指明当前变量是类成员变量或类成员属性,需要使用self。你实例化之后相当于给当前类取了别名,那当然要用实例名.name了。

`self`就是指代当前类的实例

self指代实例,那self.name就相当于实例.name啊,也就等于实例化后实例名.name啊;

self.name中的name是实例属性,而def __init__(name)这里的name是形参