- 明确一点,__init__在类中所起到的作用是,对实例化的类的属性进行初始化
【说点人话,创建一个类,就相当于对一个event进行共性提取,提取出来的共性就是属性,此时仅仅是纸上谈兵阶段。而类的实例化就是对纸上谈兵的东西进行落地、应用。针对event的细节不同去进行属性的修改】 - 拿学生的例子举例,学生这个群体的主要几个属性,无非是姓名、性别、成绩
- self
self.Name = name |
---|
self.<属性名> = 参数 |
含义:向stu_1类中的名字属性赋值 |
其中self是指向实例化对象,在上面例子中self指向的就是stu_1
name是参数,而Name是实例化对象的属性
参数也可以理解为:在这一块需要输入的是名字,参数名无所谓,参数名只起着方便传递参数的用途,为了方便理解一般需要输入什么,就把参数名起成什么,方便理解程序。
把上面的程序不考虑程序语言的限定规则下改写成:
class student(self,name,sex,sources)
stu_1 = student('袁泉','女',[100,99,100])
这样就能更好的理解
仅做个人理解使用
- self的命名是约定俗成的,改成其他形式也能正常运行
- 回归本质,既然__init__的作用是初始化实例化的类的属性,那么可不可以不用__init__,自己去初始化类的属性? 可以!
仅做个人记录使用,若有错误,望指正 |
---|