python 装饰器和继承简介

本文介绍了Python中的装饰器和继承概念。装饰器是一种用于修改函数功能的函数,而继承是面向对象编程中的关键特性,允许子类继承父类的属性和方法。文中以Animal和Cat类为例,展示了如何使用继承和super()函数来初始化父类属性。通过继承,可以实现代码重用和重构,提高效率。
摘要由CSDN通过智能技术生成

纯概念介绍:

装饰器:其实就是修改函数功能的一种函数

继承介绍:

python是面向对象的编程,面向对象编程好处之一就是代码重用。代码重用的常用方法就是通过继承机制

概念:是类与类之间的一种关系,就是子类与父类的继承关系

继承分类:

1、单继承:子类继承1个基类(父类)       

2、多继承:子类继承多个基类(父类)

使用继承的场景:抽象出各个子类具有共性的属性或方法,然后以基类(父类)形式实现,更有益于重用和重构,修改

一、Python类的继承
如下定义一个动物类Animal为基类,它基本两个实例属性name和age、一个方法call。

class Animal(object):  #  python3中所有类都可以继承于object基类
   def __init__(self, name, age):
       self.name = name
       self.age = age

   def call(self):
       print(self.name, '会叫')

######
# 现在我们需要定义一个Cat 猫类继承于Animal,猫类比动物类多一个sex属性。 
######
class Cat(Animal):
   def __init__(self,name,age,sex):
       super(Cat, self).__init__(name,age)  # 不要忘记从Animal类引入属性
       self.sex=sex

if __name__ == '__main__':  # 单模块被引用时下面代码不会受影响,用于调试
   c = Cat('喵喵', 2, '男')  #  Cat继承了父类Animal的属性
   c.call()  # 输出 喵喵 会叫 ,Cat继承了父类Animal的方法 
注意:一定要用 super(Cat, self).__init__(name,age) 去初始化父类,否则,继承自 Animal的 Cat子类将没有 name和age两个属性。
函数super(Cat, self)将返回当前类继承的父类,即 Animal,然后调用__init__()方法,注意self参数已在super()中传入,在__init__()中将隐式传递,不能再写出self。

注意:一定要用 super(Cat, self).__init__(name,age) 去初始化父类,否则,继承自 Animal的 Cat子类将没有 name和age两个属性。
函数super(Cat, self)将返回当前类继承的父类,即 Animal,然后调用__init__()方法,注意self参数已在super()中传入,在__init__()中将隐式传递,不能再写出self。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值