||
Python2,3还是有很多地方不一样的,写代码要注意这种兼容性,尤其是Python3的代码滚回到Python2执行时!
1. 【2】print 'hello' 【3】print('hello')
2. 【2】1/2=0【3】1/2=.5 最好是在【2】中加上 from __future__ import division, 这样就跟【3】一样了
3. pickle包dump函数有protocol关键字,【2】中默认为2,【3】中默认为3,所以【3】保存的变量【2】读不了!报错:ValueError: unsupported pickle protocol: 3 解决:在【3】中设置protocol=2
4. 【2】打开文件时不怎么分文本('r','w')和二进制('wb','rb'),【3】中比较严格。所以分开吧。
5. 【3】里的数组索引必须为整数,【2】不需要。还是规矩一点用整数吧。
6. d是一个dict,则d.keys()在【2】中是list,在【3】中是key类型。故如果要排序的话【2】是np.sort(d.keys()),【3】中则是np.sort(list(d.keys()))。为兼容,建议用后者。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-9-27 07:41
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社