python的陷阱
来源:互联网 发布:use it or lose it 编辑:程序博客网 时间:2024/05/21 07:05
写python程序时有些陷阱需要注意,不然就会对bug视而不见,或者得不到想要的结果。
list的append无返回值
list列表的append函数只做原位(in place)操作,改变原有的列表的内容,而不是返回一个新的列表。
>>> a = [1, 2, 3]>>> a.append(4)>>> a[1, 2, 3, 4]>>> b = a.append(5)>>> print bNone>>> print a[1, 2, 3, 4, 5]>>>
list的sort无返回值
与append函数类似,sort也只做原位(in place)操作,在原有的列表内排序,而不返回一个新的列表。
shelve对象
>>> import shelve>>> s = shelve.open('test.dat')>>> s['x'] = ['a', 'b', 'c']>>> s['x'].append('d')>>> s['x']['a', 'b', 'c']
在这个例子里,shelve的open函数返回的对象虽然看起来和普通的列表一样,但是在调用sync( )之前,它的值不会发生改变,所以,当s[‘x’]再次被读取时,仍然是原始的值,’d’字符没有保存进shelve
原文链接:http://www.lfhacks.com/tech/python-traps
0 0
- python的陷阱1
- python的陷阱
- Python的诡异陷阱
- python循环删除的陷阱
- python中strip()的陷阱
- python陷阱
- Python陷阱
- Python的C扩展-应用与陷阱
- python 清空列表时的陷阱
- python 可变参数的一个陷阱
- Python函数参数默认值的陷阱
- python中字典赋值的陷阱
- 多线程C调用python api的陷阱
- 【Python】闭包中一个不易察觉的陷阱
- Python的C扩展-应用与陷阱
- python路上的陷阱及调试
- 多线程C调用python api的陷阱
- Python类私有方法的陷阱
- SLF4j笔记
- 【如果还有明天】我想我是想你了
- Android ActionBar 一步一步分析
- poj 2391 二分+多源最短路+最大流
- ViewPager使用
- python的陷阱
- vs2013 include自己编写的.h .c文件方法
- 结构体指针
- IOS-获取Model(设备型号)、Version(设备版本号)、app(程序版本号)
- 腾讯2016校招试题----------格雷码的实现
- 结构体数组
- ScrollView嵌套ListView问题
- Biometric-----Fingerprint Recognition
- Uva-806 Spatial Structures