转载自:http://www.oschina.net/question/1579_45822

1:使用内建函数
input() int() isinstance() issubclass() iter() open() ord() pow() print() property() 2 使用join()连接字符串
>>> chunk = ['a', 'b', 'c', 'd']
>>> a = '_'.join(chunk)
>>> a
'a_b_c_d' 3 使用python多重赋值,交换变量
>>> x = 0
>>> y = 1
>>> z = 2
>>> x, y, z = z, y, x
>>> x
2
>>> y
1
>>> z
0 4 尽量使用局部变量(python检索局部变量比全局变量快,意味着要减少使用‘global’) 5 使用延迟加载加速
将‘import’声明移入函数中,仅在需要的时候导入。如果某些模块不需要马上使用,稍后导入他们。 6 为无限循环使用‘while 1’
如果需要一个无限循环,例如监听套接字实例。while True 可以实现,但 while 1:是单步运算,可以提高性能: 7 使用 list comprehension
更具可读性(函数式编程) >>> evens = [i for i in range(10) if i % 2 == 0]
>>> evens
[0, 2, 4, 6, 8] 8 使用xrange()处理长序列:
节省内存,因为xrange()在序列每次调用只产生一个整数元素。而range(),它将直接给你一个完整的元素列表,用于循环时会有不必要的开销。 9 使用python generator
节省内存和提高性能,例如一个视频流,你可以一个一个字节的发送,而不是整个流
>>> chunk = (1000 * i for i in xrange(1000))
>>> chunk
<generator object <genexpr> at 0x7f12f0073910>
>>> chunk.next()
0
>>> chunk.next()
1000
>>> chunk.next()
2000
>>> chunk.next()
3000 10 了解itertools模块
该模块对迭代和组合是非常有效的。例如列出列表[1, 2, 3]的所有排列组合,仅须3行代码
>>> import itertools
>>> iter = itertools.permutations([1, 2, 3])
>>> list(iter)
[(1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1), (3, 1, 2), (3, 2, 1)] 11 bisect模块保持序列排序
这是一个免费的二分查找实现和快速插入有序序列的工具。
>>> import bisect
>>> list = [1, 4, 7, 9]
>>> bisect.insort(list, 5)
>>> list
[1, 4, 5, 7, 9]
你已将一个元素插入表中,而你不必再次调用sort()来保持容器的排序,因为这在长序列中会非常昂贵。 12 Python中的列表实现并不是以人们通常谈论的计算机科学中的普通单链表实现的。Python中
的列表是一个数组。也就是说,你可以以常量时间O(1) 检索列表的某个元素,而不需要从>头开始搜索。这有什么意义呢? Python开发人员使用列表对象insert()时, 需三思. 例>如:>>> list.insert(0,item) 这个操作很慢
      在列表的前面插入一个元素效率不高, 因为列表中的所有后续下标不得不改变. 然而
,您可以使用list.append()在列表的尾端有效添加元素. 挑先deque,如果你想快速的在两
插入或时。它是快速的,因为在Python中的deque用双链表实现。不再多说。 :) 13 使用dict和set检测成员,因为二者用hash实现。
>>> mylist = ['a', 'b', 'c'] #slower , checkmembership with list
>>> 'c' in mylist
True
>>> myset = set(['a', 'b', 'c']) # faster ,checkmembership with set
>>> 'c' in myset
True
>>> 14 http://caoyaojun1988-163-com.iteye.com/blog/1752627 Schwartzian
python lambda表达式:http://developer.51cto.com/art/201301/388431.htm

python 性能鸡汤的更多相关文章

  1. Python性能鸡汤

    http://pythoner.org/wiki/257/ 毫无疑问:Python程序没有编译型语言高效快速. 甚至Python拥护者们会告诉你Python不适合这些领域. 然而,YouTube已用P ...

  2. Python性能鸡汤(转)

    英文原文:http://blog.monitis.com/index.php/2012/02/13/python-performance-tips-part-1/ 英文原文:http://blog.m ...

  3. Python性能鸡汤(转)

    英文原文:http://blog.monitis.com/index.php/2012/02/13/python-performance-tips-part-1/ 英文原文:http://blog.m ...

  4. Python性能(转)

    第一部分 阅读 Zen of Python,在Python解析器中输入 import this. 一个犀利的Python新手可能会注意到"解析"一词, 认为Python不过是另一门 ...

  5. Python性能提升小技巧

    第一部分 1-使用内建函数: 你可以用Python写出高效的代码,但很难击败内建函数. 经查证. 他们非常快速 2-使用 join() 连接字符串. 你可以使用 + 来连接字符串. 但由于string ...

  6. Python 性能剖分工具

    Python 性能剖分工具 眼看着项目即将完成,却被测试人员告知没有通过性能测试,这种情况在开发中屡见不鲜.接下来的工作就是加班加点地找出性能瓶颈,然后进行优化,再进行性能测试,如此这般周而复始直到通 ...

  7. Python性能分析

    Python性能分析 https://www.cnblogs.com/lrysjtu/p/5651816.html https://www.cnblogs.com/cbscan/articles/33 ...

  8. python性能分析(一)——使用timeit给你的程序打个表吧

    前言 我们可以通过查看程序核心算法的代码,得知核心算法的渐进上界或者下界,从而大概估计出程序在运行时的效率,但是这并不够直观,也不一定十分靠谱(在整体程序中仍有一些不可忽略的运行细节在估计时被忽略了) ...

  9. python性能监控初试

    标 题: python性能监控初试作 者: itdef链 接: http://www.cnblogs.com/itdef/p/3990765.html 欢迎转帖 请保持文本完整并注明出处 之前性能统计 ...

随机推荐

  1. mysql 主从同步配置

    1  环境 mac air 主机做 主库,使用的是XAMPP自带的mysql 版本为 5.6.21, for osx10.6 (x86_64) 虚拟机mysql 做从库  版本为 5.5.38, fo ...

  2. 如何优化cocos2d程序的内存使用和程序大小:第一部分_(转)

    译者: 在我完成第一个游戏项目的时候,我深切地意识到“使用cocos2d来制作游戏的开发者们,他们大多会被cocos2d的内存问题所困扰”.而我刚开始接触cocos2d的时候,社区里面的人们讨论了一个 ...

  3. zTree实现地市县三级级联报错(一)

    zTree实现地市县三级级联 1.详细报错例如以下: java.lang.IllegalStateException: Failed to load ApplicationContext at org ...

  4. Delphi Memo的记事本功能

    Delphi Memo的记事本功能           下载地址 : http://download.csdn.net/detail/teststudio/6412883 这个代码实现了Windows ...

  5. [Reactive Programming] RxJS dynamic behavior

    This lesson helps you think in Reactive programming by explaining why it is a beneficial paradigm fo ...

  6. [转] CSS transition

    https://css-tricks.com/almanac/properties/t/transition/ The transition property is a shorthand prope ...

  7. Apple-Watch开发

    Apple Watch界面设计规范(4) - 通知 Apple Watch界面设计规范(3) - Glance Apple Watch界面设计规范(2) - 应用解析 Apple Watch界面设计规 ...

  8. Android 实现闹钟功能

      原文地址:Android 实现闹钟功能作者:Android_Learners 一.手机闹钟主要用到了AlarmManager类,AlarmManager类提供了访问系统定时服务的途径,开发人员可以 ...

  9. Axiom3D学习日记 4.地形,天空,雾

    首先需要引用Axiom.SceneManagers.Octree.dll. 地形: 载入地形配置,从一个文件中. scene.LoadWorldGeometry( "Terrain.xml& ...

  10. MVC+EF 的增删改查操作

    1. //创建EF映射对象数据集 static Models.db_JiaoYouEntities DbDeleteData = new Models.db_JiaoYouEntities(); 2. ...