
Python
文章平均质量分 89
sak9188
这个作者很懒,什么都没留下…
展开
-
Python2解析4字节unicode出错该如何解决?
问题引子 在处理文本输入的时候, 当我想用Python自带的decode和encode去解析unicode的时候, 通常来讲除去编码不对, 正常来讲是可以解析的, 并且会返回一个正确的utf8字节串 s = u'龙'.encode('utf8') # s : '\xe9\xbe\x99' 但是当我们处理4字节的unicode字符的时候, 就会返回不正确的结果, 而且返回的字节数量竟然是2. 这里明显是解析错误了 s = u'????'.encode('utf8') #s : '??' len(s) # 2原创 2021-07-09 10:43:35 · 520 阅读 · 0 评论 -
编译Android版本Python
本文的目的不是为了完整地把Python 3.2移植到Android,只是希望编译出能用在自己程序里的链接库。 完成boost 1.47的移植之后,下一个目标就是Python 3.2。目前Python只有2.6.2非官方地移植到了Android(见P4A),他们迟迟不开始移植3.x,主要原因是他们认为3.x没用-_-。看来这件事情只能自己做了。由于Python 3.x和之前的版本有着巨大的区别,其难度完全不可预测。 准备工作 需要下载 Python 3.2.0 Crystax’s NDK r6 Cygwin转载 2021-01-25 11:31:50 · 937 阅读 · 0 评论 -
必知必会的Python进阶技巧
slots魔法 在Python中,每个类都有实例属性。默认情况下Python用一个字典来保存一个对象的实例属性。这非常有用,因为它允许我们在运行时去设置任意的新属性。 然而,对于有着已知属性的小类来说,它可能是个瓶颈。这个字典浪费了很多内存。Python不能在对象创建时直接分配一个固定量的内存来保存所有的属性。因此如果你创建许多对象(我指的是成千上万个),它会消耗掉很多内存。 不过还是有一个方法来规避这个问题。这个方法需要使用__slots__来告诉Python不要使用字典,而且只给一个固定集合的属性分配空原创 2020-06-05 17:22:47 · 264 阅读 · 0 评论 -
19项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原创 2020-05-26 10:39:08 · 433 阅读 · 0 评论