初次接触类的概念,在学习的网页上,对self的解释是self是方法的一个参数,在方法调用的时候,这个参数是默认传参数的
我们看一个例子
class Stu:
def __init__(self,name,age):
print("在__init__方法中id:",id(self))
self.name = name
self.age = age
def run(self):
print("在run方法中",id(self))
print("{name} is running".format(name=self.name))
接着我们打印出self在内存中的id试试
s = Stu("zr",18)
print("s的内存地址",id(s))
s.run()
输出如下
可以看出,在__init__函数,还是run函数,还是Stu实例化后的s,self在内存中的id都是相同的。
现在来解释上面标记的那句话
self是方法的一个参数:可以很明显的看到在上面的Stu类中,self是__init__方法中与name和age一样的参数
在方法调用的时候,这个参数是默认传参数的:我们在s = Stu(“zr”,18)中实例化Stu的时候,self参数我们并没有去赋值,而是默认传入的,谁实例化了Stu,谁就是self,__init__方法在执行时,self就是那个s