class Student():
def __init__(self, name, scores):
# 这里增加了属性name,并将所有成绩作为一个参数scores传入
# self.name是self的属性,单独的name是函数内的局部变量,参数也是局部变量
self.name = name
if len(scores) == 3:
self.scores = scores
else:
self.scores = [0] * 3
stu_1 = Student() #进行实例化
在Student类中,我们可以看到定义的了一个init方法,该方法的第一个参数为self,代表的实际上是Student类中,new方法生成的实例化对象,new方法生成实例化对象后,以参数self传入init方法供init方法使用,进行实例化对象的属性的初始化操作。只不过这个new方法省略了我们没看到。
这里要注意我们的实例化对象的属性的写法一定是self.name = name
,如果不写self则name = name
表示的则是在init函数内部的一个局部变量,局部变量在该函数执行结束后,则会进行销毁,因此在后面的函数中是无法调用该函数的。
注:init函数是没有返回值的,因为它只负责对实例化对象的属性进行初始化,不需要返回,所以在init中若某步需要提前return,直接写个return放那里就行了。
网友评论