元类 在python中一切皆对象,类也是对象,只不过类是一个创建对象的对象,我们可以在类中动态的创建一个类,比如 def func(name): if name == "Plane": class Plane(object): pass return Plane else: class Metrorolite(object): pass return Mrtroolite 虽然根据上述代码可以动态创建一个类,但是整个类的代码仍需要我们编写的 type()有两种作用: 1.检查对象类型…
闭包 概念:外函数outer定义一个变量a,又定义一个内函数inner,而这个内函数inner访问了外函数outer的变量a,如果需要改变外函数outer的变量a的值,则需要声明 nonlocal a,之后才可以修改.由于外函数outer执行完,返回的值是内函数inner的函数变量名,在一般情况下,外函数里面的变量a就会被释放掉,而这种情况,内函数inner还是可以直接使用,即延长了变量名a的作用域(或者叫声明周期),我们成这个函数叫闭包函数,简称闭包 # 求任意直线的x对应y的值 def li…
# -*- coding: utf-8 -*-__author__ = 'Administrator'#python高级编程:有用的设计模式#设计械是可复用的,某种程序上它对软件设计中觉问题提供的语言相关解决识方案,最近最流行的书籍:"""gamma.heim.johson和vlissides a.k.a"四人组(gof)"编写的elements of reusable object-oriented software(中文:<设计模式:可复用面向对…
由python高级编程处学习 http://blog.sina.com.cn/s/blog_a89e19440101fb28.html Python列表解析语法[]和生成 器()语法类似 [expr for iter_var in iterable] 或 [expr for iter_var in iterable if cond_expr] 例子:[i for i in range(10)if i %2==0] Enumerate >>> i=0 >>> s=['a'…
1. 一个简单的例子 在Python中,如果我们想修改列表中所有元素的值,可以使用 for 循环语句来实现. 例如,将一个列表中的每个元素都替换为它的平方: >>> L = [1, 2, 3, 4, 5] >>> for i in range(len(L)): ... L[i] = L[i] ** 2 >>> L [1, 4, 9, 16, 25] 另一种优雅的实现方式就是使用列表推导式(List Comprehensions): >>&g…
第十一章:Python高级编程-协程和异步IO Python3高级核心技术97讲 笔记 目录 第十一章:Python高级编程-协程和异步IO 11.1 并发.并行.同步.异步.阻塞.非阻塞 11.2 C10K问题和IO多路复用(select.poll.epoll) 11.2.1 C10K问题 11.2.2 Unix下五种I/O模型 11.3 select+回调+事件循环 11.4 回调之痛 11.5 什么是协程 11.5.1 C10M问题 11.5.2 协程 11.6 生成器进阶-send.cl…
# -*- coding: utf-8 -*-__author__ = 'Administrator'#python高级编程:有用的设计模式#访问者:有助于将算法从数据结构中分离出来"""它与观察者都有相似的目标,都能在不修改代码的情况下扩展指定的类功能,但是访问者更进一步,它将定义一个负责保存数据类,并将算法推进被称为访问者的其他类中.这种行为和mvc范围(请看:http://en.wikipedia.org/wiki/model-view-controller)相当类似,…
# -*- coding: utf-8 -*- __author__ = 'Administrator' #python高级编程:有用的设计模式 #代理 """ 代理对一个代价昂贵或者远程的资源提供了一个非直接访问的机制 在客户和主意之间,如图.它用来优化对高代价主题的访问,比如,在前一章中描述的memoize装饰器可以被认为是一个代理 ,它还可以用提供到一个主题智能访问,例如,大的视频文件可以封闭在代理中,以避免在用户仅仅请教其标题时就将文件载入到内存中 urllib2出给…
由于时间关系,python高级编程不在放在这边进行学习了,如果需要的朋友可以看下面的网盘进行下载 # # -*- coding: utf-8 -*- # # python:2.x # __author__ = 'Administrator' #使用API #跟踪冗长 #创建代码库时,最常见的错误是api冗长(api verbosity),当一个功能对包的调用是一组而不是一个时,出现下面错误 #script_engine包例子 #from script_engine import make_con…
<Python游戏编程入门>这些文章负责整理在这本书中的知识点.注意事项和课后习题的尝试实现.并且对每一个章节给出的最终实例进行分析和注释. 初识pygame:pie游戏pygame游戏库使得如下功能成为可能:绘制图形.获取用户输入.执行动画以及使用定时器让游戏按照稳定的帧速率运行.使用pygame库:以一定字体打印文本:使用循环来重复动作:绘制圆.矩形.线条和户型:创建pie游戏: 从哪里获得pygame库:http://www.pygame.org/download.shtml我现在使用的…