【Python】类中为什么要定义__init__()方法,self的作用是什么?

我在今天以前,写代码一般是这样的:

# 计算长方形的周长和面积
def getPeri(a,b):
    return (a + b) * 2
def getArea(a,b):
    return a * b

print (getPeri(4, 5))
print (getArea(3, 4))

然后我发现大多数是这样写的:

# _*_ coding: utf-8 _*_

# 先定义1个类
class Rectangle():

# 使用__init__方法传入2个参数,使用self重新命名
    def __init__(self,a,b):
        self.a = a
        self.b = b
    def getPeri(self):
        return (self.a + self.b) * 2
    def getArea(self):
        return self.a * self.b

rect = Rectangle(3, 4)
print (rect.getPeri())
print (rect.getArea())
print (rect.__dict__)

运行结果:

14
12
{'a': 3, 'b': 4}

定义完init()后,创建的每个实例都有自己的属性,也方便直接调用类中的函数。

明天再继续学习一下这种写法。

发布了94 篇原创文章 · 获赞 8 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/woshiyigerenlaide/article/details/104138684