编程语言
首页 > 编程语言> > Python学习日记(十三)

Python学习日记(十三)

作者:互联网

类和对象

 

 

 习题:

1.按照以下提示尝试定义一个矩形类并生成类实例对象。

属性:长和宽
方法:设置长和宽 -> setRect(self),获得长和宽 -> getRect(self),获得面积 -> getArea(self)
提示:方法中对属性的引用形式需加上self,如self.width

class Rectangle:
    length = 5
    width = 4

    def setRect(self):
        print("请输入矩形的长和宽")
        self.length = float(input("长:"))
        self.width = float(input("宽:"))

    def getRect(self):
        print("这个矩形的长是:%.2f,宽是:%.2f" % (self.length, self.width))

    def getArea(self):
        return self.length * self.width

 

 

总结:

1、由于类起到模板的作用,因此,可以在创建实例的时候,把我们认为必须绑定的属性强制填写进去。这里就用到Python当中的一个内置方法__ init__方法,例如在Student类时,把name、score等属性绑上去:
class Student(object):
    def __init__(self, name, score):
        self.name = name
        self.score = score
这里注意:(1)、__ init__方法的第一参数永远是self,表示创建的类实例本身,因此,在__ init__方法内部,就可以把各种属性绑定到self,因为self就指向创建的实例本身。(2)、有了__init __方法,在创建实例的时候,就不能传入空的参数了,必须传入与__init __方法匹配的参数,但self不需要传,Python解释器会自己把实例变量传进去:
>>>student = Student("Hugh", 99)
>>>student.name
"Hugh"
>>>student.score
99

另外,这里self就是指类本身,self.name就是Student类的属性变量,是Student类所有。而name是外部传来的参数,不是Student类所自带的。故,self.name = name的意思就是把外部传来的参数name的值赋值给Student类自己的属性变量self.name。

标签:__,name,Python,self,class,十三,方法,日记,def
来源: https://www.cnblogs.com/feiyuyu/p/15978531.html