python继承

为什么80%的码农都做不了架构师?>>> hot3.png

  • #继承
    #衍生的类(子类)继承父类的方法和数据成员
    #语法:
    # class 子类:父类
    # {......}
    #子类继承父类,父类派生子类。父类又叫基类,子类又叫派生类
    class Vehicle:def __init__(self,name):self.name ='';print('交通工具被初始化  创建出来');def run(self):print('交通工具在行驶...');def show(self):print('车的名字是%s' % self.name);
    class Truck(Vehicle):#子类(父类);继承语法def __init__(self,name,weith):#子类的构造方法应该包含父类和子类的共同属性#Vehicle.name = name;  # 1、调用父类属性,在__init__()方法中使用父类.属性self.name = name;  # 2、调用父类属性,在__init__()方法中使用self.属性或父类#Vehicle.__init__(self.name);#1、调用父类方法 __init__(self,参数)# super(Vehicle, self).__init__(name);#2、1、调用父类方法 super(父类,self).__init__(参数)self.weith=weith;print('卡车被初始化  创建出来');
    #方法重写def run(self):Vehicle.show(self);print('%s卡车载重%d吨 行驶中...'%(self.name,self.weith));
    class Trian(Vehicle):def __init__(self,name,nums):self.nums=nums;def run(self):print('火车在轨道上行驶...');t=Truck('东风',15);
    t.run();
  • class cixunfu:def run(self):print('在磁悬浮轨道上行驶..')class student:def goHome(self,vehicle):vehicle.run()print('学生在回家的途中...')class tui:def run(self):print('2条腿儿在行驶...')
    # c=Trian('京沪高铁',30);
    # c.run();
    # ok=Trian('马航730',30);
    daizhong=tui();
    xinpeng=student();
    xinpeng.goHome(daizhong);

宠物看病

  • #宠物看病
    class pet:def kanbing(self):print('给宠物看病...');
    class Car(pet):def kanbing(self):print('给猫咪看病 吃药,吃小黄鱼..');
    class  Dog(pet):def kanbing(self):print('给狗狗看病 输液,吃骨头..');
    class bird(pet):def kanbing(self):print('给小鸟看病 拔罐,吃虫子..');
    class pig(pet):def kanbing(self):print('给小猪看病 针灸,吃猪粮..');
    class ShouVet:def JiuZhen(self,pet):print('兽医出诊..给宠物看病..');pet.kanbing();dingdang=Car();
    kala=Dog();
    huangli=bird();
    peiqi=pig();
    syi=ShouVet();syi.JiuZhen(dingdang);
    syi.JiuZhen(kala);
    syi.JiuZhen(huangli);
    syi.JiuZhen(peiqi);
  • # isinstance()函数:判断是否是继承关系
    print('kala is Dog:',isinstance(kala,Dog));

计算器

  • #计算器
    class Operation:def __init__(self,numA,numB):self.numA=numA;self.numB=numB;def GetResult(self):print('计算2操作数的运算结果');class OpeartionAdd(Operation):def __init__(self,numA,numB):super(OpeartionAdd, self).__init__(numA,numB);def GetResult(self):return self.numA+self.numB;class OpeartionSub(Operation):def __init__(self,numA,numB):# super(OpeartionSub, self).__init__(numA,numB);super(OpeartionSub, self).__init__(munA,numB);def GetResult(self):return self.numA-self.numB;class OpeartionMul(Operation):def __init__(self,numA,numB):super(OpeartionMul, self).__init__(numA,numB);def GetResult(self):return self.numA*self.numB;class OpeartionDiv(Operation):def __init__(self,numA,numB):super(OpeartionDiv, self).__init__(numA,numB);def GetResult(self):return self.numA//self.numB;if __name__=='__main__':numA=int(input('请输入第一个操作数:'));numB=int(input('请输入第二个操作数:'));fu=input('请输入运算符:');q=None;#未赋值的变量 代表一个计算器if fu=='+':q=OpeartionAdd(numA,numB);elif fu=='-':q = OpeartionSub(numA, numB);elif fu == '*':q = OpeartionMul(numA, numB);elif fu == '/':q = OpeartionDiv(numA, numB);else:print('输入错误');print('计算结果:',q.GetResult())
  • 计算器  工厂类
  • #计算器  工厂类
    class Operation:def __new__(cls):passdef GetResult(self,numA, numB):print('计算2操作数的运算结果')class OpeartionAdd(Operation):def __new__(cls):return object.__new__(cls);#return  Operation.__new__(cls)def GetResult(self,numA,numB):return  numA+numBclass OperationSub(Operation):def GetResult(self,numA,numB):return  numA-numBclass OperationMul(Operation):def GetResult(self,numA,numB):return  numA*numB
    class OperationDiv(Operation):def GetResult(self,numA,numB):return  numA//numBclass OperationFactory(object):#不同的参数创建不同的对象的  函数def create_class(self,fu):if fu == '+':q = OpeartionAdd();elif fu == '-':q = OperationSub();elif fu == '*':q = OperationMul();elif fu == '/':q = OperationDiv();return q;if __name__== '__main__':#工厂对象factory=OperationFactory();numA=int(input('请输入第一个操作数'))numB=int(input('请输入第二个操作数'))fu = input('请输入运算符:')# q代表 由 工厂创建出来的一个计算器q=factory.create_class(fu)print('计算结果:',q.GetResult(numA, numB))

单例模式:该模式主要目的是确保某一个类只有一个实例存在

  • class singleton:#借助第三方变量__instance=None;def __new__(cls, *args, **kwargs):if cls.__instance==None:cls.__instance=object.__new__(cls);return cls.__instance;else:return cls.__instance;
    s=singleton();
    print(id(s));
    s1=singleton();
    print(id(s1));
  • 借助第三方变量更改两个值的位置
  • a,b=10,5;
    c=a;#借助第三方变量更改两个值的位置
    a=b;
    b=c;
    print(a,b);

转载于:https://my.oschina.net/u/3764483/blog/1618193

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

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

相关文章

cpu散热器怎么拆_电脑CPU处理器与整机温度高 教你简单解决

炎炎夏日,电脑卡、慢、死机、关机多数是中央处理器(以下简称CPU)温度过高引起的。如果有上述感觉,那么你很可能就是这个病症。第一步、需要确定真正是否为温度高的问题,先不要着急拆机,软件测试,一般用百度搜索《鲁大师…

MyEclipse里运行Tomcat后,Console窗口里中文显示乱码

windows-preferences-搜索tomcat 修改为 UTF-8 或 gbk

linux查看raid情况工具,使用MegaCli工具查看Raid磁盘阵列状态

转载自:http://home.51.com/chenjianghui1987/diary/item/10051836.html文章本身我不做过多修改了,在这里我就把自己在安装时候碰到的难点跟大家提下。1.何处下载?首先,根据文章中的路径已经下载不到相应的文件了,在此…

终端不能联网_5G和物联网DDA的关系

多年以来,物联网一直是一个大家耳熟能详又不知为何物的东西,而物联网的定义也随着技术的进步和应用场景的改变而不断的变化和演化。以前,物联网WLAN物联网(就是WiFi、蓝牙、ZigBee...)。而如今物联网WLAN物联网蜂窝物联网(2/3/4G、NB、LoRa、…

linux磁盘fio压力测试,fio进行磁盘压力测试

fio可以用来测试磁盘IO常用的参数如下:filename/dev/emcpowerb 支持文件系统或者裸设备,-filename/dev/sda2或-filename/dev/sdbdirect1 测试过程绕过机器自带的buffer,使测试结果更真实rwrandwread 测试随机读的…

SpringMVC 实例 --非注解【过时的,留作回忆】

练习项目:test SpringMVC 实例 --非注解,只用于学习理解。到了spring 3.0以后或许部分东西已经过时了,在实际工作中并不一定好用。 但对于理解SpringMVC的实现方式很有帮助,在以后使用注解时,会明白是怎么个来龙去脉&a…

云场景实践研究第27期:袋鼠云

更多云场景实践研究案例,点击这里:【云场景实践研究合集】联合不是简单的加法,而是无限的生态,谁会是下一个独角兽 随着网站论坛粉丝数高涨,原有系统架构和服务器性能已无法满足热情高涨的粉丝需求。同时,网…

怎么在电脑上看磁盘分配单元的大小_电脑磁盘到底该不该分区?怎么分区?

“哥,在吗?在你家新买的adolbook14 2020怎么只有一个C盘啊?”“电脑磁盘怎么重新分区啊?在线等!急!”“本电脑小白可太骄傲了,我居然自己给电脑磁盘分区了,一通操作猛如虎!”……那…

电脑如何进入bios模式_华硕笔记本电脑开机自动进入BIOS界面怎么办?

最近很多人的华硕牌子笔记本有问题,说自己开机就直接进入BIOS了。对于这些小白来说,一脸懵逼啊,不知道怎么解决,其实大家也不要着急,坚哥来简单帮大家分析一下。第一、可能系统的文件被更改,从而导致无法启…

springmvc在controller和视图之间传递参数

从视图向controller传递值&#xff0c; controller <--- 视图 1&#xff09;简单类型&#xff0c;如int, String, 应在变量名前加RequestParam注解&#xff0c;例如&#xff1a; RequestMapping("hello3")public String hello3( RequestParam("name" …

苹果手机怎么清理听筒灰尘_怎么清理手机听筒的灰尘?

作为一个专业的强迫症从业者&#xff0c;我已经看不惯手机听筒的灰尘很久了&#xff0c;在经历无数次失败之后&#xff08;针&#xff0c;牙刷&#xff0c;牙签&#xff0c;吸尘器等等&#xff09;。我必须要来分享一个超级实用的方法清理手机听筒的灰尘。那就是&#xff0c;起…

linux mrtg 命令,linux服务器之流量监控(MRTG)

本系列文章原则&#xff1a;灰常详细&#xff0c;灰常简单&#xff0c;新手包学包会&#xff01;因其简单&#xff0c;故未涉及安全性方面的考虑呵&#xff01;本实验服务器为rhel-5-server-i386&#xff0c;客户端为windows xp。本实验所用软件包均在rhel-5-server-i386-dvd.i…

搭建网站必不可少的知识14

安全组配置 “操作”-“安全组配置” 单击“内网入方向”&#xff0c;“添加安全组规则”默认配置即可“确定”。在公网入方向和公网出方向都这样添加上。&#xff08;如果存在就先删除后在添加&#xff09;。现在应该能登录了。 输入密码&#xff0c;点击“确定” 登录后只有一…

8代cpu能跑linux,Intel公布6/7/8代桌面CPU打漏洞补丁性能结果:影响很小

今天&#xff0c;Intel执行副总裁数据、数据中心事业部总经理Navin Shenoy(孙纳颐)发布了第二篇性能测试文章&#xff0c;针对客户端也就是桌面平台用户在打上修复“Spectre”和“Meltdown”漏洞补丁之后的实际情况。对于大部分普通电脑用户来说&#xff0c;性能的影响并不显著…

Spring mvc interceptor配置拦截器

原文&#xff1a;http://blog.csdn.net/liyisong2008/article/details/42915715 -------------------------------------------------------------------------- xml代码&#xff1a; [java] view plaincopy <?xml version"1.0" encoding"UTF-8"?>…

rm: 无法删除swap: 不允许的操作_safe-rm老板再也不用担心我删库跑路啦[视频]

saferm 老板再不怕我删库跑路https://www.zhihu.com/video/1177717527541731328在 linux 上&#xff0c;使用 rm 是一件非常危险的事情(最近又有朋友遇到了我才想起了写这篇文章)&#xff0c;如果不幸手残执行了 rm -rf 删除了重要文件&#xff0c;建议你准备收拾包袱跑路吧。既…

Spring MVC 流程图

Spring工作流程描述1. 用户向服务器发送请求&#xff0c;请求被Spring 前端控制Servelt DispatcherServlet捕获&#xff1b;2. DispatcherServlet对请求URL进行解析&#xff0c;得到请求资源标识符&#xff08;URI&#xff09;。然后根据该URI&#xff0c;调用HandlerMapping获…

kafka maven没有下载_Kafka 系列(三)——Kafka 生产者详解

首先介绍一下 Kafka 生产者发送消息的过程&#xff1a;Kafka 会将发送消息包装为 ProducerRecord 对象&#xff0c; ProducerRecord 对象包含了目标主题和要发送的内容&#xff0c;同时还可以指定键和分区。在发送 ProducerRecord 对象前&#xff0c;生产者会先把键和值对象序列…

python图像分割算法_OpenCV-Python 图像分割与Watershed算法 | 三十四

目标 在本章中&#xff0c; 我们将学习使用分水岭算法实现基于标记的图像分割 我们将看到&#xff1a;cv.watershed() 理论 任何灰度图像都可以看作是一个地形表面&#xff0c;其中高强度表示山峰&#xff0c;低强度表示山谷。你开始用不同颜色的水(标签)填充每个孤立的山谷(局…

NEO从源码分析看共识协议

2019独角兽企业重金招聘Python工程师标准>>> 0x00 概论 不同于比特币使用的工作量证明&#xff08;PoW&#xff09;来实现共识&#xff0c;NEO提出了DBFT共识算法。DBFT改良自股权证明算法&#xff08;PoS&#xff09;&#xff0c;我没有具体分析过PoS的源码&#x…