C语言类似表情: bool ? a : b ,当表达式值为真的话,值为a.否则为b. 看一个样例: >>> a = "first" >>> b = "second" >>> 1 and a or b 'first' >>> 0 and a or b 'second' 这个样例非常好理解,1 表示为真,值为a,否则为b. 在使用过程中,发现也不全然是这样,假设a 为假的话,表达式值为b. 比方:…
第一部分 1-使用内建函数: 你可以用Python写出高效的代码,但很难击败内建函数. 经查证. 他们非常快速 2-使用 join() 连接字符串. 你可以使用 + 来连接字符串. 但由于string在Python中是不可变的,每一个+操作都会创建一个新的字符串并复制旧内容. 常见用法是使用Python的数组模块单个的修改字符;当完成的时候,使用 join() 函数创建最终字符串. >>> #This is good to glue a large number of strings &…
Python性能分析 https://www.cnblogs.com/lrysjtu/p/5651816.html https://www.cnblogs.com/cbscan/articles/3341231.html 使用ipdb 使用profile import profile def profileTest(): Total =1; for i in range(10): Total=Total*(i+1) print Total return Total if __name__ ==…
英文原文:http://blog.monitis.com/index.php/2012/02/13/python-performance-tips-part-1/ 英文原文:http://blog.monitis.com/index.php/2012/03/21/python-performance-tips-part-2/ 翻译原文:http://www.oschina.net/question/1579_45822 第一部分 阅读 Zen of Python,在Python解析器中输入 im…
python性能对比之items #1 #-*- coding:utf8-*- import datetime road_nodes = {} for i in range(5000000): road_nodes[i] = {'id':i} beg_time = datetime.datetime.now() for key, val in road_nodes.items(): pass end_time = datetime.datetime.now() print "time_scan:…
在分析python代码性能瓶颈,但又不想修改源代码的时候,ipython shell以及第三方库提供了很多扩展工具,可以不用在代码里面加上统计性能的装饰器,也能很方便直观的分析代码性能.下面以我自己实现的一个快排代码为例,带你使用集中不同的性能分析工具. def quick_sort(data, low, high): if low >= high: return left, right = low, high key = data[left] while left < right: whil…
python 运行后出现core dump产生core.**文件,可通过gdb来调试 Using GDB with a core dump having found build/python/core., we can now launch GDB: gdb programname coredump i.e. gdb /usr/bin/python2 build/python/core. A lot of information might scroll by. At the end, you'…
VIM 的作者Bram Moolenaar在一篇叫高效文本编辑器的7个习惯的ppt中有这么一段话. Three basic steps 1. Detect inefficiency 2. Find a quicker way 3. Make it a habit 即 1.检测哪里效率低下 2.找到一种更快的方法 3.养成习惯 这3个步骤可谓是大道至简.放之四海而皆准. 不止适用于vim,一样适用于python以及其他语言,也适用于现实生活. 这简单的道理很多人都懂,但是却有…
1.优化循环 循环之外能做的事不要放在循环内,比如下面的优化可以快一倍 2.使用join合并迭代器中的字符串 join对于累加的方式,有大约5倍的提升 3.使用if is 使用if is True比if == True将近快一倍 4.使用级联比较x < y < z x < y < z效率略高,而且可读性更好 5.使用**而不是pow %timeit -n 10000 c = pow(2,20) %timeit -n 10000 c = 2**20 10000 loops, best…