面向对象编程 类的定义形式多样 既可以直接创建新的类,也可以基于一个或多个已有的类创建新的类; 既可以创建一个空的类,然后再动态添加属性和方法,也可以在创建类的同时设置属性和方法。 类是对现实世界中一些事物的封装,可以把数据(属性)和操作(方法)封装在一起,从而使得 程序结构更加清晰。 使用clas ...
分类:
编程语言 时间:
2019-09-22 13:12:40
阅读次数:
98
本节主要介绍Python面向对象编程中的多态、多态性以及鸭子类型的概念。 ...
分类:
编程语言 时间:
2019-09-17 17:25:58
阅读次数:
77
“如果我们看到一只鸟走起来像鸭子,游泳起来像鸭子,叫起来也像鸭子,那么这只鸟就可以被称之为鸭子。” 关注点在于对象的行为, 而非类型(duck typing) 比如file,StringIO, socket对象都支持read/wtite方法(file like object)。 再比如定义了__it ...
分类:
其他好文 时间:
2019-09-01 23:50:01
阅读次数:
174
[TOC] 1. 组合 组合 :对象的某个属性是另一个类的对象 为什么使用组合 :可以减少代码冗余 如何使用组合 2. 多态与多态性 多态 :一类事物的多种形态。比如:动物类:人,狗,猪 多态性 :多态性是指在不考虑实例类型的情况下使用实例 好处 :增加了程序的灵活性,增加了程序的可扩展性 3. 封 ...
分类:
其他好文 时间:
2019-08-28 21:04:20
阅读次数:
115
# 多态是指一类事物有多种行态, # 例如:动物有多种形态:人,狗,猫 # 他们有一些共同的特征:吃,喝,拉,撒 # 多态性是指在不考虑实例类型的情况下使用实例 # 对同一事物不同的类,对象有不同的响应, # 例如:放假了,有的同学回家,有的去旅游,有的去兼职 # 有的在敲代码(就是我啦) # 列表... ...
分类:
编程语言 时间:
2019-08-16 23:06:05
阅读次数:
102
语言特性 优缺点 鸭子类型 monkey patch 自省(Introspection) 列表或字典推导式 Python之禅 Python3改进 Python3新增 2/3的兼容工具 传递参数(一个容易混淆的问题) 可变/不可变的对象 *args, **kwargs含义是什么 使用异常的常见场景 C ...
分类:
编程语言 时间:
2019-08-13 20:26:24
阅读次数:
104
调用不同的子类将会产生不同的行为,而无须明确知道这个子类实际上是什么,这是多态的重要应用场景。而在python中,因为鸭子类型(duck typing)使得其多态不是那么酷。鸭子类型是动态类型的一种风格。在这种风格中,一个对象有效的语义,不是由继承自特定的类或实现特定的接口,而是由"当前方法和属性的 ...
分类:
编程语言 时间:
2019-08-10 13:51:50
阅读次数:
92
面向对象三大特性 1.面向对象的三大特性:继承,封装,多态 封装:将一堆代码或者数据等放到一个空间中,并且可以使用 多态:同一个对象,多种形态.(python默认支持多态) 2.鸭子类型 python崇尚鸭子类型(编程思路) 3.类的约束 4.super的深度剖析 5.带颜色的print ...
分类:
其他好文 时间:
2019-08-07 22:57:03
阅读次数:
231
1.三大特性 封装 ? 把很多数据封装到?个对象中. 把固定功能的代码封装到?个代码块, 函数, 对象, 打包成模块. 这都属于封装的思想. 具体的情况具体分析. 比如. 你写了?个很?B的函数. 那这个也可以被称为封装. 在?向对象思想中. 是把?些看似?关紧要的内容组合到?起统?进?存储和使?. ...
分类:
其他好文 时间:
2019-08-07 18:57:45
阅读次数:
93
关于装饰器、lambda、鸭子类型、魔法函数的理解仍存有困惑之处,趁周末有时间温故,赶紧去自学了解下相关知识。 1.装饰器是什么: 很多初学者在接触装饰器的时候只做到了肤浅的了解它的概念、组成形态。实际上装饰器是python学习中很难啃的大骨头,一旦涉及到具体用途以及原理,经常会把人绕晕。 在这里, ...
分类:
编程语言 时间:
2019-08-03 21:49:52
阅读次数:
147