Python 中的继承 | Python 继承 [附例]
已发表: 2020-12-14Python 是最流行的编程语言之一。 尽管从 Python 2 版本到 Python 3 的过渡充满了起起落落,但面向对象的编程语言的受欢迎程度却出现了巨大的飞跃。
如果您计划从事 Python 开发人员的职业,那么您一定会获得更高的报酬。 Python 开发人员的平均年薪约为 119,082 美元。 但是,在你继续 Python 学习程序之前,你应该首先了解一些事情——Python 中的继承。 如果您渴望获得 Python 和其他工具方面的专业知识,请查看我们的数据科学认证。
让我们首先从 Python 中的继承到底是什么开始?
目录
Python中的继承是什么?
就像父子关系一样,继承适用于相对于基类的派生类。 每个“派生”类都继承自“基”类。 继承以 UML 或统一建模语言表示。 它是一种标准建模语言,包括一组集成的图表,可帮助开发人员指定、构建和记录软件系统元素。
继承关系将继承自其他类的类定义为派生类、子类或子类型类。 基类仍然是子类继承的来源。 例如,您有一个“Animal”基类,而“Lion”是一个派生类。 继承将是 Lion is an Animal。
那么问题来了,“Lion”类从“Animal”继承了什么?
“Lion”类继承
- 界面
- 执行
注意:您可以在称为Liskov 替换原则的应用程序中将派生类对象替换为基类对象。 它表明如果计算机程序将对象 P 作为 Q 的子类型,则可以轻松地将 P 替换为 Q 而无需更改属性。
还结帐:印度的 Python 开发人员薪水
Python中继承的优点
- Python 中的继承有助于开发人员重用对象。
- 每次一个类继承基类时,它就可以访问父对象的功能。
- 由于基类已经过测试,因此继承的可重用性也是可靠的。
- 开发时间和成本低
- 跨类的接口标准化变得容易。
- 减少代码冗余并帮助提高可扩展性
- 类库的创建变得容易。
Python中的继承类型
单一继承
我们已经看到了单继承是什么——从“基”类继承“派生”类。 让我们通过一个例子来理解它,
班级国家:
def ShowCountry(自己):
print(“这是西班牙”);
类状态(国家):
def ShowState(自我):
print(“这是状态”);
st =状态();
st.ShowCountry();
st.ShowState();
多级继承
Python 由多个对象组成,并且通过多级继承,重用类功能的可能性无穷无尽。 每次派生类继承另一个派生类时,都会记录多级继承。 可以继承功能的派生类的数量没有限制,这就是为什么多级继承有助于提高 Python 中的可重用性。
这是一个多级继承的例子
动物类:
def 说话(自己):
打印(“动物说话”)
#子类Dog继承基类Animal
类狗(动物):
定义树皮(自我):
打印(“狗吠”)
#子类Dogchild继承另一个子类Dog
类 DogChild(狗):
默认吃(自己):
print(“吃面包……”)
d = DogChild()
d.bark()
d.speak()
d.吃()
多重继承
Python 使开发人员能够将多个功能和属性从不同的基类继承到单个派生类中。 它主要是一个很棒的功能,因为它可以让您在没有大量工具或编码的情况下继承多个依赖项。
让我们看一个多重继承的例子。
类计算1:
def 总和(自我,a,b):
返回 a+b;
类计算2:
def 乘法(自我,a,b):

返回 a*b;
派生类(Calculation1,Calculation2):
def 除法(自我,a,b):
返回 a/b;
d = 派生()
打印(d.Summation(10,20))
打印(d.乘法(10,20))
打印(d.Divide(10,20))
查看:如何使用 Python 将语音转换为文本
如何识别派生类?
Python 带有一个内置的 issubclass() 函数,可以帮助开发人员检查一个类是派生类还是基类。 运行此函数后,对于子类或派生类,它返回结果“True”,而对于基类返回 False。
开发者可以通过这个例子检查类。
班级我的年龄:
年龄 = 36
类 myObj(myAge):
名称=“约翰”
年龄 = 我的年龄
x = issubclass(myObj, myAge)
如何在 Python 中创建类层次结构?
Python 中的继承有助于创建类的层次结构。 所有相关类将共享一个公共接口以相互通信。 基类定义接口。 派生类可以提供接口的特定专业化。 在这里,我们正在探索一个 HR 模型来展示类层次结构。
人力资源系统将处理不同公司员工的工资单; 每个工人都通过一个 ID 进行识别,并有不同的工资职位需要计算。
让我们首先创建一个工资单类作为“Base”对象。
# 在 hr.py 中
类工资系统:
def calculate_payroll(自我,工人):
print('计算工资')
print('===================')
对于工人中的工人:
print(f'Payroll for: {worker.id} – {worker.name}')
print(f'- 支票金额:{worker.calculate_payroll()}')
打印(”)
PayrollSystem执行一个.calculate_payroll()方法,该方法收集工人的信息,打印他们的 ID、姓名,并检查工资单金额。 现在,您运行一个基类worker来处理每个 worker 类型的标准接口:
# 在 hr.py 中
班级工人:
def __init__(self, id, name):
自我.id = id
self.name = 名称
为公司中的所有员工类型创建一个 Worker 基类使 HR 系统的层次结构变得容易。 每个工人都被分配了一个名字和ID。 HR 系统要求员工通过 .calculate_payroll() 接口提供有关其周薪的数据。 这个接口的执行可能会根据worker的类型而有所不同。
必读:Python 面试题
结论
在这里,我们学会了创建不同的 Python 类,建立它们之间的关系,甚至设置类层次结构。 但是,Python 中的继承不仅限于这里提到的功能。
机器学习和人工智能高级认证:印度最好的教育机构之一的印度理工学院马德拉斯分校与 upGrad 合作,开设了机器学习高级课程,让个人通过本课程全面了解机器学习。
如果您想了解数据科学,请查看 IIIT-B 和 upGrad 的数据科学执行 PG 计划,该计划是为在职专业人士创建的,提供 10 多个案例研究和项目、实用的实践研讨会、行业专家的指导、1与行业导师一对一,400 多个小时的学习和顶级公司的工作协助。
为什么继承在 Python 中很重要?
继承是指将父类的属性传递给子类的过程。 它是一个面向对象编程(OOP)的概念,在 Python 中很重要。 这是因为继承提供了代码可重用性,这意味着我们可以在子类中继承我们需要的属性,而不是一遍又一遍地编写相同的代码。 它也很容易理解和实现,因为它描述了父类和子类之间的真实关系。 它具有传递性。 因为所有子类都从其父类继承属性,所以任何子类都将同样使用父类的功能。
学习Python时需要继承吗?
是的,在学习 Python 时学习继承是必要的。 大量的 Python 应用程序需要增加当前市场中 Python 程序员的数量。 这种激增导致学习 Python 的人数增加。 Python 编程语言具有丰富的概念,例如继承。 这种面向对象编程语言的基本概念之一是继承。 由于继承允许代码可重用性、可读性和属性转换,因此在学习 Python 的同时学习它是必要的。 继承有助于创建准确高效的代码。
在 Python 中,不支持哪些类型的继承?
与其他面向对象的编程语言不同,Python 允许所有形式的继承,包括多重继承。 可以使用继承概念从预先存在的类中构造新类。 这有利于代码的重用。 父类中指定的方法也在子类中使用。 虽然 C++ 也支持这种继承,但它缺乏 Python 先进且设计良好的方法。 Python 甚至提供了混合继承,它允许我们在单个代码中实现多种类型的继承。 因为代码可重用性是继承的优势,所以在使用 Python 时,它在广泛的应用程序中很有帮助。