python的继承与多态

一.继承 

class Person(object):def __init__(self, name, sex):self.name = nameself.sex = sexdef print_title(self):if self.sex == "male":print("man")elif self.sex == "female":print("woman")class Child(Person):  # Child 继承 PersonpassLice = Child("Lice", "female")
Peter = Person("Peter", "male")print(Lice.name, Lice.sex, Peter.name, Peter.sex)  # 子类继承父类方法及属性
Lice.print_title()
Peter.print_title()

二.多态

1.重写父类方法

class Person(object):def __init__(self, name, sex):self.name = nameself.sex = sexdef print_title(self):if self.sex == "male":print("man")elif self.sex == "female":print("woman")class Child(Person):  # Child 继承 Persondef print_title(self):if self.sex == "male":print("boy")elif self.sex == "female":print("girl")Lice = Child("May", "female")
Peter = Person("Peter", "male")print(Lice.name, Lice.sex, Peter.name, Peter.sex)
Lice.print_title()
Peter.print_title()

2.子类重写构造函数

class Person(object):def __init__(self,name,sex):self.name = nameself.sex = sexclass Child(Person):                # Child 继承 Persondef __init__(self,name,sex,mother,father):self.name = nameself.sex = sexself.mother = motherself.father = fatherLice = Child("Lice","female","Haly","Peter")
print(Lice.name,Lice.sex,Lice.mother,Lice.father)

3.子类对父类的构造方法进行调用

父类构造函数包含很多属性,子类仅需新增1、2个,会有不少冗余的代码

class Person(object):def __init__(self,name,sex):self.name = nameself.sex = sexclass Child(Person):                          # Child 继承 Persondef __init__(self,name,sex,mother,father):Person.__init__(self,name,sex)        # 子类对父类的构造方法的调用self.mother = motherself.father = father# self.name='haha'Lice = Child("Lice","female","Haly","Peter")
print(Lice.name,Lice.sex,Lice.mother,Lice.father)

class Person(object):def __init__(self, name, sex):self.name = nameself.sex = sexclass Child(Person):  # Child 继承 Persondef __init__(self, name, sex, mother, father):super(Child, self).__init__(name, sex)  # 子类对父类的构造方法的调用self.mother = motherself.father = father# self.name='haha'Lice = Child("Lice", "female", "Haly", "Peter")
print(Lice.name, Lice.sex, Lice.mother, Lice.father)

 

4.多重继承

新建一个类 baby 继承 Child , 可继承父类及父类上层类的属性及方法,优先使用层类近的方法,

#coding:utf-8
class Person(object):def __init__(self, name, sex):self.name = nameself.sex = sexdef print_title(self):if self.sex == "male":print("man")elif self.sex == "female":print("woman")class Child(Person):passclass Baby(Child):passLice = Baby("Lice", "female")  # 继承上上层父类的属性
print(Lice.name, Lice.sex)
Lice.print_title()  # 可使用上上层父类的方法print('==================')
class Child(Person):def print_title(self):if self.sex == "male":print("boy")elif self.sex == "female":print("girl")class Baby(Child):passLice2 = Baby("Lice2", "female")
print(Lice2.name, Lice2.sex)
Lice2.print_title()  # 优先使用上层类的方法

5.替换if else

class Pay:def pay(self):raise NotImplementedErrorclass AliPay(Pay):def pay(self):print('==ali pay')class WechatPay(Pay):def pay(self):print('==wechat pay')lookup = {'alipay': AliPay(),'wechat': WechatPay()}def pay(pay_type):lookup.get(pay_type).pay()pay('alipay')

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/493346.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何在算法交易中使用AI?摩根大通发布新版指南

来源 :efinancialcareers.com作者 :Sarah Butcher编译:机器之能 张玺摘要:如果你对银行与金融领域的 AI 应用有兴趣的话,你肯定了解 JPM(摩根大通)最近十年对大数据和人工智能的出色运用&#x…

生命简史

来源「新原理研究所」(ID:newprincipia)摘要:地球上的生命是如何开始的?未来智能实验室是人工智能学家与科学院相关机构联合成立的人工智能,互联网和脑科学交叉研究机构。未来智能实验室的主要工作包括&…

Array()数组

数组的定义 var arr [1, 2, 3, 4, "one", "two", "three", "four"]; //一维数组 var props [["拳头", "刀", "枪"], ["boxing", "knife ", "gun"]]; //二维数组 调用 …

成立 5 周年:一文览尽 Facebook 人工智能研究院历年重要成果

来源:AI科技评论五年前,Yann LeCun 等人创建了 Facebook 人工智能研究院 (Facebook AI Research,FAIR),试图通过开放的研究环境促进人工智能的发展,进而造福所有人——他们努力的目的是为了理解智慧的本质,…

利用opencv对图像和检测框做任意角度的旋转

一.钢筋比赛中的数据扩充 #coding:utf-8 #数据集扩增 import cv2 import math import numpy as np import xml.etree.ElementTree as ET import osdef rotate_image(src, angle, scale1):w src.shape[1]h src.shape[0]# 角度变弧度rangle np.deg2rad(angle) # angle in r…

中国科学家将绘制最精细人脑三维“地图”

骆清铭在检查实验结果。(受访者供图)来源:新华社客户端作者:喻菲 胡喆 李博 夏鹏为什么有的大脑能洞见美妙的宇宙法则,有的能创作出扣人心弦的乐曲与画作?记忆和意识是如何产生的?人类虽已能观察…

python解析xml+得到pascal voc xml格式用于目标检测+美化xml

1.python解析xml img_path./data/001.tifxml_path./xml/001.xmlimgcv2.imread(img_path)# cv2.imshow(img, img)# cv2.waitKey(0)print(img.shape)try:xmlp ET.XMLParser(encoding"utf-8")tree ET.parse(xml_path, parserxmlp)root tree.getroot()print(tree)prin…

美权威报告:量子计算十年内无法落地

来源:云头条摘要:美国方面称,它对这项复杂的技术何时真正大有用武之地毫无头绪。美国国家科学、工程和医学科学院本周发布了一份介绍量子计算现状的报告。考虑到有人推测这类设备可能使目前的加密方案变得毫无价值,这个话题令人不…

“深绿” 及 AlphaGo 对指挥与控制智能化的启示

来源:《指挥与控制学报》摘要: 随着未来战争日趋复杂、人工智能突飞猛进, 指挥与控制向智能化发展成为大势所趋. 美军的 “深绿” 计划项目虽因各 种原因暂停, 但其思路和方法值得借鉴. AlphaGo 在围棋领域战胜人类顶尖水平, 其采用的方法也有一定的参考…

熵的基础知识,特征工程,特征归一化,交叉验证,grid search,模型存储与加载

1.自信息: 2.信息熵 3.p对Q的KL散度(相对熵) 证明kl散度大于等于0 4.交叉熵 可看出交叉熵信息熵相对熵 数据集地址:水果数据集_机器学习水果识别,水果分类数据集-机器学习其他资源-CSDN下载 一,类别型特征和有序性特…

5G与AI深度融合,人类世界即将产生巨变

来源:系数据观整理自网络摘要:近几年,科技界有两大领域越来越热:一个是5G,一个是AI。两者都是能够改变时代的颠覆性技术。单独看5G或AI技术,它们的发展都面临重重挑战, 我们不妨脑洞大开&#x…

统计学第一章--最小二乘拟合正弦函数,正则化

#coding:utf-8 import numpy as np import scipy as sp from scipy.optimize import leastsq import matplotlib.pyplot as plt # 目标函数 def real_func(x):return np.sin(2*np.pi*x)# 多项式 def fit_func(p, x):f np.poly1d(p)# print(f,f)return f(x)# 残差 def residual…

装配式建筑连入自动驾驶技术,未来城市的房子居然是这个样子......

来源:gooood谷德设计网概念如果说古典的城市是关于神的,现代城市是关于资本和权力的,那么未来的城市就应该是关于人与自然的。人在朝朝暮暮,山山水水,风风雨雨,一草一木天地之间无不有感而发,触…

iOS6新特征:UICollectionView介绍-非常棒 -转

传送门:http://www.devdiv.com/forum.php?modviewthread&tid128378 转载于:https://www.cnblogs.com/ygm900/p/3652681.html

ROC曲线,AUC值,PR曲线,AP值

Receiver Operating Characteristic (ROC) with cross validation — scikit-learn 1.0.2 documentation Precision-Recall — scikit-learn 1.0.2 documentation 一,ROC 横轴:负正类率(false postive rate FPR)特异度,划分实例中所有负例…

报告:最大化人工智能(AI)机遇

来源:199IT互联网数据中心Microsoft发布了新报告“最大化AI机遇”,深入调查了数字转型的一个重要的技术力量,人工智能(AI)。报告将其定义为让计算机像人一样观察、学习、分析和评价以进行决策,解决问题的一…

统计学基本知识一

声明:文中的图来自于可汗学院公开课,若有侵权,联系我删除。 均值:一组数相加后除以这一组数的个数。 中位数:一组数从小到大排列,最中间的那个数,如果是偶数个,两个相加后除以2&am…

中科院陆汝钤获吴文俊人工智能最高成就奖,百度王海峰获吴文俊人工智能杰出贡献奖...

来源:AI 科技评论12 月 9 日上午,被誉为「中国智能科学技术最高奖」的吴文俊人工智能科学技术奖在苏州举行颁奖典礼。本届吴文俊人工智能奖共对 70 项人工智能成果授奖,包括吴文俊人工智能最高成就奖 1 项,吴文俊人工智能杰出贡献…

统计学基本知识二

声明:文中的图来自于可汗学院公开课,若有侵权,联系我删除。 中心极限定理:随着样本容量n的增加,样本均值或者样本和的频率图将很接近正态分布。 如下图就在求解样本均值。 如下图就是样本均值的频率图,很…

AI+零售:人工智能撬动零售变革

来源:乐晴智库精选人工智能的快速发展将有助于赋能新零售商,有效重构零售行业“人、货、场”等要素,提升各环节效率,最终提升消费者购物体验,推动零售行业迎来第五次变革。近年来,在数据、算法、技术等方面…