Python中,常会看到,在很多类中,都有一个__init__函数。该函数有什么作用,又该如何使用呢?下面就来解释一下,__init__的含义。
Python中__init__的含义
首先来看init单词本身,其含义是初始化。而__init__的含义,也如同其单词本意一样,用来初始化。
但是给谁初始化呢?很明显,是给对应的类Class本身初始化。
Python中为何要有__init__
我的理解是,__init__的出现,主要有两方面的作用:
①支持带参数的类的初始化
这个用法,感觉就像,其他语言中的,对于Class初始化时,可以运行传递不同的参数一样(如java中,在构造方法中,通过参数的传递进行初始化)
其中,针对Person这个类,不同的示例,在初始化的时候,传递一个对应的参数,这样不同的Person,就都有了自己的不同的名字了。这看起来,有点类似于其他语言中,通过传递特定参数去对类进行初始化。
②实现类本身相关内容的初始化
当一个Class,稍微复杂一点的时候,或者内部函数需要用得到的时候,往往都需要在,别人实例化这个类之前,做一些基本的,与自己的类有关的初始化方面的工作。而这部分工作,往往就放到__init__函数中去完成。
从上面的演示代码就可以看出__init__的作用了:不同的人,应该有不同的名字,而给不同的人设置不同的名字,也是需要在调用sayYourName之前,就先初始化好的。
个人理解小结:
首先明确的是self只有在类的方法中才会有,独立的函数或方法是不必带有self的。self在定义类的方法时是必须有的,虽然在调用时不必传入相应的参数。
self名称不是必须的,在python中self不是关键词,你可以定义成a或b或其它名字都可以,但是约定成俗,不要搞另类,大家会不明白的.
如果self指向类本身,那么当有多个实例对象时,self指向哪一个呢?所以,self代表的是具体的实例化对象,这样当有多个实例化对象时才不至于混淆不知道调用的是哪一个实例的方法或属性。
想更多了解Python编程,欢迎持续关注合肥达内Python+人工智能培训官网,会为您不断更新有关Python语言相关知识与信息动态;您也可以在线咨询课程详情,并预约达内每月开设的7天免费试听实训营,为正式开课做准备,全程一线大咖教授,让您在短时间内教会您Python专业,课程注重实操,使得您培训结束后很快能适应工作的节奏!欢迎前来报名,机会难得,先到先得!
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!