python继承

Python编程:从入门到实践(九)——类

社会主义新天地 提交于 2020-01-28 01:27:56
类 根据类来创建对象被称为实例化,这让你能够使用类的实例。 编写一些类并创建其实例。指定可在实例中存储什么信息,定义可对这些实例执行哪些操作。 还可以编写一些类来扩展既有类的功能,让相似的类能够高效地共享代码。 把自己编写的类存储在模块中,并在自己的程序文件中导入其他程序员编写的类。 一、创建和使用类 一个表示小狗的简单类Dog,表示任何小狗,包含小狗的两项信息(名字和年龄)和两种行为(蹲下和打滚)。 这个类让Python知道如何创建表示小狗的对象。 编写这个类后,我们将使用它来创建表示特定小狗的实例。 创建Dog类 class Dog ( ) : '''一次模拟小狗的简单尝试''' def __init__ ( self , name , age ) : '''初始化属性name和age''' self . name = name self . age = age def sit ( self ) : '''模拟小狗被命令时蹲下''' print ( self . name . title ( ) + " is now sitting!" ) def roll_over ( self ) : '''模拟小狗被命令时打滚''' print ( self . name . title ( ) + " rolled over!" ) 方法__init__() 类中的函数称为方法。

继承

血红的双手。 提交于 2020-01-27 13:52:14
面向对象三大特性 封装 根据 职责 将 属性 和 方法 封装 到一个抽象的 类 中 继承 实现代码的重用 ,相同的代码不需要重复的编写 多态 不同的对象调用相同的方法,产生不同的执行结果, 增加代码的灵活度 01. 单继承 1.1 继承的概念、语法和特点 继承的概念 : 子类 拥有 父类 的所有 方法 和 属性  1) 继承的语法 class 类名(父类名): pass 子类 继承自 父类 ,可以直接 享受 父类中已经封装好的方法,不需要再次开发 子类 中应该根据 职责 ,封装 子类特有的 属性和方法 2) 专业术语 Dog 类是 Animal 类的 子类 , Animal 类是 Dog 类的 父类 , Dog 类从 Animal 类 继承 Dog 类是 Animal 类的 派生类 , Animal 类是 Dog 类的 基类 , Dog 类从 Animal 类 派生 3) 继承的传递性 C 类从 B 类继承, B 类又从 A 类继承 那么 C 类就具有 B 类和 A 类的所有属性和方法 子类 拥有 父类 以及 父类的父类 中封装的所有 属性 和 方法 提问 哮天犬 能够调用 Cat 类中定义的 catch 方法吗? 答案 不能 ,因为 哮天犬 和 Cat 之间没有 继承 关系 1.2 方法的重写 子类 拥有 父类 的所有 方法 和 属性 子类 继承自 父类 ,可以直接 享受

Python类与对象---封装与继承

巧了我就是萌 提交于 2020-01-27 11:53:12
#一.Python类的封装机制: # Python 并没有提供 public、private 这些修饰符。为了实现类的封装,Python 采取了下面的方法: # 1.默认情况下,Python 类中的变量和方法都是公有(public)的,它们的名称前都没有下划线(_); # 2.如果类中的变量和函数,其名称以双下划线“__”开头,则该变量(函数)为私有变量(私有函数),其属性等同于 private。 #二、Python类的继承机制: # 1.如果类没有显式指定继承自哪个类,则默认继承 object 类 # 2.(object 类是 Python 中所有类的父类,即要么是直接父类,要么是间接父类)。 # 3.另外,Python 的继承是多继承机制(和 C++ 一样),即一个子类可以同时拥有多个直接父类。 # 4.继承是相对子类来说的,即子类继承自父类;而派生是相对于父类来说的,即父类派生出子类。 # 5.Python 支持多继承(C++也支持多继承)。 # 6.和单继承相比,多继承容易让代码逻辑复杂、思路混乱,一直备受争议,中小型项目中较少使用,后来的 Java、C#、PHP 等干脆取消了多继承。 # 7.根据子类继承多个父类时这些父类的前后次序决定,即排在前面父类中的类方法会覆盖排在后面父类中的同名类方法。 # 8.虽然 Python 在语法上支持多继承,但逼不得已

用Python来做一个屏幕录制工具

為{幸葍}努か 提交于 2020-01-27 03:23:04
一、写在前面 作为一名测试,有时候经常会遇到需要录屏记录自己操作,方便后续开发同学定位。以前都是用ScreenToGif来录屏制作成动态图,偶尔的机会看到python也能实现。那就赶紧学习下。 二、效果展示 三、知识串讲 这次要讲的东西可能比较多了,涉及到pyqt5 GUI软件的制作、QThread多线程的使用、Sikuli库的图形操作、win32库的模拟键盘操作、cv2库的写视频文件等。下面我们一点点来蚕食我这次写的代码。 1、GUI界面制作 这次我用的是现成的Pyqt5界面布局类,QVBoxLayout。这个类可以快速协助我完成按钮的垂直分布,而且按钮添加也更方便。 #Python学习交流群797877325 免费获取系统学习教程 button1 = QPushButton("自定义录屏") layout.addWidget(button1) 两行代码就完成了按钮的命名和添加。我之前玩qt时,用的都是qt的UI界面,对应生成的组件代码也比较复杂。因此,在开发一些少量按钮、简单布局时可以用QVBoxLayout类。如果喜欢水平布局,可以用QHBoxLayout类,使用方法是一样的。 另外,在按钮点击关联的功能函数,即work()方法时,如果想带参数,可以通过lambda匿名函数来实现。这 也是个小技巧。 # 不带参数 button1.clicked.connect(self

Python第一节

旧城冷巷雨未停 提交于 2020-01-27 03:05:03
摘自:逻辑教育课程 指导老师:Amy老师 目录 python介绍 python来源 python语言是由荷兰程序员Guido van Rossum(龟叔)独立开发完成初版的。“龟叔”曾任职于google,现任职于dropbox。1989年圣诞节期间,在阿姆斯特丹,为了打发圣诞节的无趣,决定开发一个新的脚本解释语言,作为ABC语言的一种继承,然后他就这么做了,并实现了(大神的能力)。之所以选中Python作为该编程语言的名字,是因为它是一个叫Monty Python喜剧团体的爱好者,其本意不是蟒蛇。 python语言特点 python应用方向 编译器/解释器 定义 高级语言与机器之间的翻译官。都是将代码翻译可以执行的二进制机器码,只不过在运行原理和翻译过程中有不同而已。 区别 编译器:先整体编译再执行 解释器:边解释边执行 编译方式:运行速度快,但任何一个小改动都需要整体重新编译,可脱离编译环境运行。代表语言是C语言。 解释方式:运行速度慢,但部分改动不需要整体重新编译。不可脱离解释器环境运行。代表语言是Python语言。 解释器种类 CPython:官方版本的解释器。这个解释器是用C语言开发的,所以叫CPython。CPython是使用最广的的Python解释器。我们通常说的、下载的、讨论的、使用的都是这个解释器。 Ipython:基于CPython之上的一个交互式解释器

python介绍

守給你的承諾、 提交于 2020-01-27 02:40:17
认识 Python 人生苦短,我用 Python —— Life is short, you need Python 01. Python 的起源 Python 的创始人为吉多·范罗苏姆(Guido van Rossum) 1989 年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的 解释程序 ,作为 ABC 语言的一种继承( 感觉下什么叫牛人 ) ABC 是由吉多参加设计的一种教学语言,就吉多本人看来,ABC 这种语言非常优美和强大,是 专门为非专业程序员设计的 。但是 ABC 语言并没有成功,究其原因,吉多认为是 非开放 造成的。吉多决心在 Python 中避免这一错误,并获取了非常好的效果 之所以选中 Python(蟒蛇) 作为程序的名字,是因为他是 BBC 电视剧——蒙提·派森的飞行马戏团(Monty Python's Flying Circus)的爱好者 1991 年,第一个 Python 解释器 诞生,它是用 C 语言实现的,并能够调用 C 语言的库文件 1.1 解释器(科普) 计算机不能直接理解任何除机器语言以外的语言 ,所以必须要把程序员所写的程序语言翻译成机器语言,计算机才能执行程序。 将其他语言翻译成机器语言的工具,被称为编译器 编译器翻译的方式有两种:一个是 编译 ,另外一个是 解释 。两种方式之间的区别在于 翻译时间点的不同 。当编译器

python学习笔记(二)

馋奶兔 提交于 2020-01-27 00:25:39
1.列表及其源码功能实现   1) __add__(self, *args, **kwargs):   赋值相加   2) _contains__(self, *args, **kwargs):   列表中若包含某元素,返回true;反之,返回为false.   3) __eq__(self, *args, **kwargs):   返回值是否相等   4) __getattribute__(self, *args, **kwargs):    __getattribute__是属性访问拦截器,就是当这个类的属性被访问时,会自动调用类的__getattribute__方法。即在上面代码中,当我调用实例对象aa的name属性时,不会直接打印,而是把name的值作为实参传进__getattribute__方法中(参数obj是我随便定义的,可任意起名),经过一系列操作后,再把name的值返回。Python中只要定义了继承object的类,就默认存在属性拦截器,只不过是拦截后没有进行任何操作,而是直接返回。所以我们可以自己改写__getattribute__方法来实现相关功能,比如查看权限、打印log日志等。实例如下: class Tree(object): def __init__(self,name): self.name = name self.cate = "plant" def

python 设计模式之 -- 模板模式

对着背影说爱祢 提交于 2020-01-26 19:56:41
前言 模板模式,这个在开发过程中比较常见,其主要是把子类公有的功能函数在模板类中声明或者实现,用于优化逻辑和减少代码。 1.什么是模板模式 举一个通俗的例子,你有一枚印章,盖章的时候一般都用红色的印泥;某一天到了你儿子手中,他各种颜色都给你涂上,咳…,然后盖在你脸上,红的绿的紫的…那个印章就是模板,各种颜色就是不同需求,产生的颜色虽然不同,但是本质上还是你的名字。 《图解设计模式》中是这么定义模板模式的:在父类中定义处理流程的框架,在子类中实现具体处理的模式。 2.普通写法 假如有两个过程,泡茶和冲咖啡 class MakeTea(object): def __init__(self, temperature, water): self.temperature = temperature self.water = water def add_water(self): print('add', self.water, 'water') def heat(self): print('heat water to', self.temperature) @staticmethod def add_tea(): print('add tea') def make_tea(self): self.add_water() self.heat() self.add_tea() class

面向对象

自闭症网瘾萝莉.ら 提交于 2020-01-26 18:18:38
第六章 面向对象 规范化目录 规范化目录的优点 #1:加载速度块#2:可读性高#3:查询修改代码时都简单​ 规范化目录分析 划归固定的路径 将文件目录的固定路径划分完成​ settings.py配置文件 #1:基本存储的都是变量#2:静态路径,数据库的链接,配置,静态文件的的路径,基本不发生改变的​ src.py主逻辑函数 #主逻辑函数,核心函数:贯穿整个项目的主要功能​ common.py公共组件 #放置一些公用的函数,功能,方便与其他的函数或者业务需求,如:装饰器​ start启动文件 #单独的启动文件,将所有项目的功能单独放置一个文件中,开启项目方便,醒目​ register #用户信息,数据相关,多个文件​ logging日志文件 #记录用户的访问次数,转账,取钱,充钱等等.极了用户干了什么.​ README描述文件 #1:软件定位,软件的基本功能。#2:运行代码的方法: 安装环境、启动命令等。#3:简要的使用说明。#4:代码目录结构说明,更详细点可以说明软件的基本原理。#5:常见问题说明。​ 规范化目录sys模块路径加载 #版本一sys模块内置模块,文件运行时,sys内置模块就会将一些模块 自动 加载到内存. 内置模块. time,json pickle等等.以及当前目录的.如何引用到一个模块最本质的原因在于这个模块名称空间在不在内存.如果直接引用不到一个模块

认识python

好久不见. 提交于 2020-01-26 10:03:10
python介绍 python的创始⼈为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决⼼开发⼀个新的脚本解释程序,作为ABC语⾔的⼀种继承。最新的TIOBE排⾏榜,Python已经占据世界第四名的位置, Python崇尚优美、清晰、简单,是⼀个优秀并⼴泛使⽤的语⾔。 Python整体呈上升趋势,反映出Python应⽤越来越⼴泛并且也逐渐得到业内的认可!!! Python可以应⽤于众多领域,如:数据分析、组件集成、⽹络服务、图像处理、数值计算和科学计算等众多领域。⽬前业内⼏乎所有 ⼤中型互联⽹企业都在使⽤Python,如:Youtube、Dropbox、BT、Quora(中国知乎)、⾖瓣、知乎、Google、Yahoo!、 Facebook、NASA、百度、腾讯、汽⻋之家、美团等。 ⽬前Python主要应⽤领域: 云计算: 云计算最⽕的语⾔, 典型应⽤OpenStack WEB开发: 众多优秀的WEB框架,众多⼤型⽹站均为Python开发,Youtube, Dropbox, ⾖瓣。。。, 典型WEB框架有Django 科学运算、⼈⼯智能: 典型库NumPy, SciPy, Matplotlib, Enthought librarys,pandas 系统运维: 运维⼈员必备语⾔ ⾦融:量化交易,⾦融分析,在⾦融