首页 > 编程语言 > 详细

python中init()方法的使用

时间:2019-10-09 17:33:25      阅读:577      评论:0      收藏:0      [点我收藏+]

python中新建一个类的时候为什么要用init()方法呢?在CSDN上看到了一篇说明(参考中),通过两个代码的比较,对init()方法的作用有了一些了解。

1.第一个代码类的定义不使用init()初始化方法,打印一个矩形的长度、面积和这个类中的私有属性。

 1 class Rectangle():
 2     def getPeri(self,a,b):
 3         return (a + b)*2
 4     def getArea(self,a,b):
 5         return a*b
 6 
 7 rect = Rectangle()
 8 print(rect.getPeri(3,4))
 9 print(rect.getArea(3,4))
10 print(rect.__dict__)

下面是输出:

14
12
{}

2.第二个代码,类的定义中有init()方法。

 1 class Rectangle():
 2     def __init__(self,a,b):
 3         self.a = a
 4         self.b = b
 5     def getPeri(self):
 6         return (self.a + self.b)*2
 7     def getArea(self):
 8         return self.a * self.b
 9 
10 rect = Rectangle(3,4)
11 print(rect.getPeri())
12 print(rect.getArea())
13 print(rect.__dict__)

下面是输出:

14
12
{a: 3, b: 4}

经过对比可以看出,在没有使用init()方法创建类的时候,使用该类创建的实例的属性是空的。而使用init()方法创建类的时候,该类创建的实例属性都有了。

使用init()方法创建类的时候,有几个好处:

1.使用该类创建实例,可以自带有init()方法中的属性,而属性的值在创建实例时就可以设置。

2.与1对应的,该实例引用类中的函数时,可以不用再设置参数的值了。

 

参考:

https://blog.csdn.net/geerniya/article/details/77487941

python中init()方法的使用

原文:https://www.cnblogs.com/AIgan/p/11642747.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!