22.Python中的__init__

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放那里就行了。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容