大家在学习一些编程语言的时候往往会被一些代码搞的晕头转向,其实本质的原因就是无法理解,学习编程最重要的是理解基础代码,那些高大上的东西都脱离不开基础,分析代码并研究内部原理尤为重要,本篇文章就是通过一步一步的分析,从整体到局部研究Python类中super()继承方法的用法,下面我们就步入正题
classAnimal:
"""
注释:这是动物类
"""
time=55
def__init__(self,name,sex,age):
"""
这是变量
"""
self.name=name
self.sex=sex
self.age=age
defeat(self,al):
print("%s吃%s"%(self.name,al))
defdrink(self):
print(%s喝东西%(self.name))
首先创建一个Animal类,使用关键字class,每个类都会有初始化,初始化的目的就是将类的变量放在一起,然后定义两个方法,其实方法就是我们常说的函数,属性其实就是变量
传递的三个参数分别是name,sex,age,这里也叫形参,self.name中的self就是本身,也就是这个类,self.name其实就是设置类的name变量,让传入的name使用等号进行赋值给类的name变量,所以写成self.name=name(这里分清name是不同的两个)
接下来就是定义两个函数,其实在类里面就叫方法,其实本质一样只是叫法不同,第一个eat方法传入参数al,并且输出类变量name和传入的变量al,第二个方法是直接输出类变量name,好了,上面根据Animal类进行讲解,我们大致了解类这个概念,其实就是方法和属性
下面再创建一个类,用于讲解继承
classBird(Animal):#Bird继承Animal类
def__init__(self,name,sex,age,wing):
super().__init__(name,sex,age)#继承Animal类中
self.wing=wing
defbark(self):
print("嘟嘟叫")
defeat(self,argv):
super().eat(argv)#继承方法
print("%s吃%s"%(self.name,argv))
print(鸟吃虫子...)
另一种写法:
Bird类在继承Animal类的时候最能体现的就是使用括号classBird(Animal),然后依旧是定义初始化,并且传入的参数与原来的Animal相比较多出wing这个参数,其他三个都是相同的形参,使用super()不但可以继承属性而且还可以继承方法,就相当于在继承的过程中是可以选择继承的部分,不是所有都可以继承,下图是继承等效的示意图
不管是类还是继承后的类都是class类型的,都需要实例化,实例化的意思就是就是将类具体化,比如鸟类最后是由一直只鸟组成,鸟类就是一群,一群就是类,而那一只就是类的实例化,下面是实例化的代码
上述就是类继承中super()的使用方法,希望大家能够对所学知识有所理解,不理解没关系,