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. 轻松搞定RabbitMQ(六)——主题

    转自 http://blog.csdn.net/xiaoxian8023/article/details/48806871 翻译地址:http://www.rabbitmq.com/tutorials ...

  2. 牛顿迭代法(Newton&#39;s Method)

    牛顿迭代法(简称牛顿法)由英国著名的数学家牛顿爵士最早提出.可是,这 一方法在牛顿生前并未公开发表(讨厌的数学家们还是鼓捣出来了) 牛顿法的作用是使用迭代的方法来求解函数方程的根. 简单地说,牛顿法就 ...

  3. caffe搭建以及初步学习--win7-vs2013-gtx650tiboost-cuda8.0-cifar10训练和测试-2-快速解决方案cifar10_quick_solver.prototxt

    首先安装好显卡----已经装好了?喜大普奔!没装好?那就用cpu,也是一样的. 拷贝cudnn v5.0 头文件和库文件以及执行文件到cuda8中 -------------------------- ...

  4. Webview页面的控件元素定位

    前言 现在有很多App都是Hybrid的,即有原生的页面又有Webview的页面,元素的可以通过uiautomatorviewer工具 进行控件元素的定位,Webview页面的则无法通过此方式定位,而 ...

  5. python中if __name__ == '__main__': 的解析(转载)

    当你打开一个.py文件时,经常会在代码的最下面看到if __name__ == '__main__':,现在就来介 绍一下它的作用. 模块是对象,并且所有的模块都有一个内置属性 __name__.一个 ...

  6. Python 元祖、列表、字典、文件(转载)

    转自http://yangsq.iteye.com/category/20857 python的元组.列表.字典数据类型是很python(there python is a adjective)的数据 ...

  7. android日历控件

    源码地址 : http://download.csdn.net/detail/abc13939746593/7265459

  8. Sleeping Beauty,摘自iOS应用Snow White and more stories

    Once upon a time, there lived a king and queen. 从前,有个国王和王后. They had a beautiful daughter. 他们有一个漂亮的女 ...

  9. 局域网如何通过SSH连接虚拟机装的centOS系统

    首先,在一个局域网内的一台机器上装了虚拟机,虚拟机上装了centos系统: 但是,只有本机能连接centos,其他电脑都连不上: ping了一下发现不通,然后排查原因. 我发现局域网内的机器IP都是: ...

  10. 基于sys文件系统的LED驱动的移植【原创】

    基于RK3188平台LED驱动程序的移植的移植.如有不正确之处,欢迎大家指点. 本文的LED驱动程序不是通过打开设备节点来访问和控制LED的,是通过sys文件系统来控制LED. 板子上有四盏灯以及对应 ...