python3类中的def __init()__如何使用?

单个函数的使用小编也写了不少,说起基础的init函数也是我们的老朋友了。组合函数的要么是理解又一定的难度,要么是操作方法有复杂的地方。小编今天要讲的def __init()__属于第一种,只要小伙伴们理解透彻,使用起来并不困难。所以小编通过数学中的三角形给大家举例,在我们所熟知的知识中延展出新的内容。

顾名思义,init是初始化的意思,init函数,也就是初始化函数,意思就是,当实例化类的时候,自动运行的函数,如果我们实例化的时候给类传了参数,参数也是呈交给这个函数来处理的。所以,你可以在init函数里写上任何你希望实例化的时候就自动执行的函数,比如像print('实例化已完成')什么的都是可以的。

但大部分时候,我们希望实例化的时候干些啥?当然是把数据传给类的属性啊,所以绝大部分情况下,init函数都充当了构造函数的作用,我们可以在这里面写明把传来的数据赋予谁,或经过怎样的预处理后再赋予谁。

就拿那个三角形来说,我们希望在生成三角形(实例化)的时候,就给三角形生成器(类)传入三条边长,而不是实例化完了之后,再tr1.a=6,tr1.b=7这样的一个个赋值。所以我们直接就在init函数里写明了参数的传递规则。 

另外再说一句,在传入参数实例化后,除了可以查看,也是可以再次修改的:

tr1.a
->6
 
tr1.a=7
tr1.a
->7

拓展:那个self是什么东西,为什么要写self.a?

我们在使用对象的属性的时候,写法是“对象名.属性名”,就像上面的tr1.a。在定义类的时候,为了保持一致,也要采用这种写法。但由于类定义的时候,还没有实例化,并不清楚对象名是什么,所以可以随便写一个(但要前后一致),一般都写self。

今天在python3类中init组合函数就讲到这里了。基础函数延展后都出成了一个新的知识点,小伙伴们学习的过程中可以举一反三试试,说不定就突然增加了新技能哦~

来源:PY学习网:原文地址:https://www.py.cn/article.html

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » python3类中的def __init()__如何使用?