1,多态:对不同类的对象使用同样的操作,但使用函数显示地检查类型能够毁掉多态(eg: type,isinstance,issubclass)

封装:多态让用户对于不知道是什么类的对象进行方法调用,而封装可以不用关心对象是如何构建的而直接进行使用

2,私有方式访问:在其名字前加上双下划线(注意不是单下划线)即可,‘__名字’此种类型在外部是无法被访问的,但是在类的内部还能使用访问,因为在类的内部定义中,所有的双下划线被翻译为前面加上单下划线和类名的形式,即:在内部,python使用一种 name mangling 技术,将 __membername替换成 _classname__membername,所以你在外部使用原来的私有成员的名字时,会提示找不到。

3,指定超类:Filter 类的用处在于它可以用作其他类的积累(超类),比如SPAMFilter类(其中的filter方法是从Filter类中继承的),可以将序列中的SPAM过滤出去

4,issubclass函数:用于检查一个类是否为另一个类的子类;isinstance运用于检查一个对象是否为一个类的实例;使用__class__特性可以知道一个对象属于哪个类,eg: s.__class__

5,多重继承:注意一个方法从多个超类继承,注意超类的顺序

6,对象:对象包括方法和特性,特性只是其一部分的变量,方法是存储在对象内的函数,方法和其他函数的区别在于方法总是将对象作为自己的第一个参数,这个参数一般称为self。

7,类:定义其实例会用到的方法

8,构造方法:当一个类的构造方法被重写时,对象的初始化有时会出现错误。此时,可以调用超类构造方法的未绑定版本或者使用super函数解决,使用super函数时,当前的类和对象作为super函数的参数使用,调用函数返回的对象的任何方法都是超类的方法,而不是当前类的方法。

9,绑定和不绑定方法:在调用一个实例的方法时,该方法的self参数会被自动的绑定到实例,但如果直接调用类的方法(eg:Bird__init__(self)),此时没有实例会被绑定

10,属性:property函数(eg:size = property(GetSize, SetSize))可用0、1、2、3或者4个参数来调用,没参数则产生的属性既不可读又不可用,4个参数分别被叫做fget/fset/fdel/doc,其实property并不是一个真正的函数,而是其实例有很多方法的类(也可以使用@property)

11,静态方法和类成员方法:使用@staticmethod和@classmethod

12,迭代器:即具有next方法的对象,且next方法在调用时不需要任何的参数,调用时会返回其下一个值,当调用next后单迭代器没有值返回时会已发一个StopInteration异常。一个对象若实现__iter__方法是可迭代的,一个对象实现了next方法则是迭代器。除了在迭代器和可迭代对象上进行迭代外,还能把它们转换为序列,大部分能使用序列的地方可以使用迭代器(eg:使用list构造方法显式地将迭代器转化为列表)。

13,生成器:一种用普通的函数语法定义的迭代器,任何包含yield语句的函数称为生成器,其行为和普通的函数有很大的差别,每次产生多个值而不是像return那样返回值。每次产生一个值(使用yield语句),函数就会被冻结(等待激活)

14,堆:heappush(heap,x):将x入堆,heappop(heap):将堆中的最小元素弹出,一般来说都是在索引是0 处的元素(因为heappop会做一些移位操作)   堆属性:位于第i位的元素总是比第2i以及第2i+1处元素小,基于堆属性,可以使用heapify函数heapify(heap)可以讲任意列表通过尽可能少的移位操作转换为合法的堆

python_学习笔记的更多相关文章

  1. python_ 学习笔记(hello world)

    python中的循环语句 循环语句均可以尾随一个else语句块,该块再条件为false后执行一次 如果使用break跳出则不执行. for it in [1,2,3,4]: print(it,end= ...

  2. python_ 学习笔记(运算符)

    python的运算符基本和C语言一致,以下说一些不一样的! 算术运算符 **:代表乘方,对应也有**=: //:代表商向下取整,对应也有//=: 逻辑运算符 and or not 位运算符 :& ...

  3. python_ 学习笔记(基本数据类型)

    python3有6中标准数据类型:Number(数字).String(字符串).List(列表).Tuple(元组).Dictionary(字典).Set(集合)不可变数据:Number.String ...

  4. python_ 学习笔记(基础语法)

    python的注释 使用(#)对单行注释 使用('''或者""")多行注释,下面的代码肯定了python的牛逼 print("python是世界上最好的语言吗? ...

  5. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  6. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

  7. PHP-会员登录与注册例子解析-学习笔记

    1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...

  8. 2014年暑假c#学习笔记目录

    2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...

  9. JAVA GUI编程学习笔记目录

    2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...

随机推荐

  1. 3D打印技术之切片引擎(4)

    [此系列文章基于熔融沉积( fused depostion modeling, FDM )成形工艺] 这一篇文章我讲一下多边打印的问题,多边打印是切片引擎的一项关键的技术. 图1 双边打印 首先.它能 ...

  2. hdu 5316 Magician 线段树

    链接:http://acm.hdu.edu.cn/showproblem.php? pid=5316 Magician Time Limit: 18000/9000 MS (Java/Others)  ...

  3. sql quer

    SELECT (SELECT COUNT (sysid) FROM FwInvConsumable WHERE parentref = g.sysid AND (ns.state = 'Invento ...

  4. Android 非静态内部类导致内存泄漏原因深入剖析

    背景 上周发现蘑菇街IM-Android代码里面.一些地方代码编写不当.存在内存泄漏的问题.在和疯紫交流的过程中.发现加深了一些理解,所以决定写一下分析思路,相互学习. 内存泄漏 一个不会被使用的对象 ...

  5. JavaScript中批量设置Css样式

    设置 input 元素的  属性: document.getElementsByTagName("INPUT")[0].setAttribute("属性",&q ...

  6. IGP和EGP(转载)

    AS(自治系统) - 也称为路由域,是指一个共同管理区域内的一组路由器.例如公司的内部网络和 Internet 服务提供商的网络.由于 Internet 基于自治系统,因此既需要使用内部路由协议,也需 ...

  7. OTL中文乱码 OTL UTF8

    在用unixODBC连接MySQL的时候字符编码是由odbc支持的,不须要C++编译OTL的时候加上什么编译条件. 假设你的数据库使用的编码是UTF-8,你要从这个数据库读数据.并且还要将结果放到这个 ...

  8. 采用ADM2582E/ADM2587E实现完全半/全双工的RS-485/RS-422接口隔离

    RS-485标准是一种常见的总线架构,其通用性及远距离传输能力使其广泛应用于各种通信接口电路.在多数情况下,由于应用环境的恶劣,需要对RS-485接口采用隔离方案以防止出现接地环路. 对RS-485接 ...

  9. EasyDarwin接入ffmpeg实现264转图片快照功能

    本文转自:http://blog.csdn.net/cai6811376/article/details/51774467 EasyDarwin一直坚持开源精神,所以我们着手把EasyDarwin中使 ...

  10. Android笔记之dp与px之间的转换以及LayoutParams

    dp与px之间的转换公式 px = dp * (dpi / 160) dp = px / (dpi / 160) 其中dpi的获取方式如下 private void getDpi() { Displa ...