Python学习笔记(十八)——小甲鱼第三十八讲

Python学习笔记(十八)——小甲鱼第三十八讲

Python学习笔记(十八)——小甲鱼第三十八讲

Python学习笔记(十八)——小甲鱼第三十八讲

0、可以使程序简洁,可以减少代码量

 

1、会报错,因为__init__为特殊方法,不应当返回None以外的任何对象

 

2、不会删除,会覆盖,父类的仍然还在,只是子类对象看不得

 

3、重新定义,覆盖父类方法

 

4、你不需要明确给出任何基类的名字,super函数会自动帮你找出所有基类以及对应方法

 

5、多重继承容易导致重复调用问题

 

6、使用super函数进行改进

 

 

0、

import math

 

class point():

   

    def __init__(self,x=0,y=0):

        self.x = x

        self.y = y

 

    def x_get(self):

        return self.x

    def y_get(self):

        return self.y

 

class line():

    def __init__(self,p1,p2):

        self.x = p1.x_get() - p2.x_get()

        self.y = p1.y_get() - p2.y_get()

        self.len = math.sqrt(self.x * self.x + self.y * self.y)

 

    def len_get(self):

        return self.len

 

运行结果

 

>>> p1 = point(1,3)

>>> p2 = point(2,6)

>>> line1 = line(p1,p2)

>>> line1.len_get()

3.1622776601683795