Kevin12151011的个人博客分享 http://blog.sciencenet.cn/u/Kevin12151011

博文

Python2, Python3代码转换问题(不定期更新)

已有 3985 次阅读 2017-4-29 16:02 |个人分类:Python编程|系统分类:科研笔记

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()))。为兼容,建议用后者。



https://blog.sciencenet.cn/blog-3296568-1051898.html

上一篇:What-to-do when you uninstalled pyhton
下一篇:ubuntu安装分区问题
收藏 IP: 114.212.171.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-6-4 01:12

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部