Python - Python2与Python3的区别、转换与兼容
区别
- Python2.x与Python3.x版本区别:http://www.runoob.com/python/python-2x-3x.html
- 示例解读Python2和Python3之间的主要差异:https://www.oschina.net/news/99235/difference-between-python2-and-python-3
- 13个python3才能用的特性:https://mp.weixin.qq.com/s/eYeY2lcaPCsIIFOyZ6v-OQ
特别注意:
- 在python2.7中range的返回值是一个列表,而在python3.x中返回的是一个range对象。
- map()、filter()、 dict.items()在python2.7返回列表,而在3.x中返回迭代器,但只能遍历一
转换(迁移)与兼容
- 愉快地迁移到Python3:https://mp.weixin.qq.com/s/bF-QcmaRqq5m-DYyn3W03w
- 让你的python程序同时兼容python2和python3:http://python.jobbole.com/83987/
转换(迁移)工具 - 2to3
Automated Python 2 to 3 code translation.
Python2和Python3自带实用转换脚本2to3(Utility Script),可将Python2程序源文件作为输入,然后自动将其转换到Python3的形式。
官网信息:
- Python2:https://docs.python.org/2/library/2to3.html
- Python3:https://docs.python.org/3/library/2to3.html
兼容工具 - Six
Six is a Python 2 and 3 compatibility library.
专门用来兼容Python2和Python3的库,使用six写的代码可以不用修改就运行在Python2或Python3上。
简单来说,Six统一了Python2和Python3的名字等内容,封装了Python2和Python3之间的差异。
Six只有一个six.py文件,可以方便地拷贝到项目中,也可以使用pip安装。
官网信息:
- PyPI:https://pypi.org/project/six/
- HomePage:https://github.com/benjaminp/six
- Documentation:https://six.readthedocs.io/
参考信息:
- 介绍Python2和Python3的兼容库six:https://www.kawabangga.com/posts/2360
- python之six用法:https://www.jianshu.com/p/62a6e3f2d1ca
- Python代码版本兼容技巧以及自我实现six:https://mp.weixin.qq.com/s/UuZJa7ENvgZgis5GWD-hOA
Python - Python2与Python3的区别、转换与兼容的更多相关文章
- [python]python2与python3版本的区别
python2和python3的区别 区别: print函数 整数相除 Unicode 异常处理 xrange map函数 不支持has_key print函数: Python 2: print是语句 ...
- 百万年薪python之路 -- python2和python3的区别
python2和python3的区别: python2获取的是整数 python3获取的是浮点数 print函数:(Python3中print为一个函数,必须用括号括起来:Python2中print为 ...
- python2 与 python3的区别
python2 与 python3的区别 几乎所有的python2程序都需要一些修改才能正常的运行在python3的环境下.为了简化这个转换过程,Python3自带了一个2to3的实用脚本.这个脚本会 ...
- python2 与 python3 语法区别
python2 与 python3 语法区别 概述# 原稿地址:使用 2to3 将代码移植到 Python 3 几乎所有的Python 2程序都需要一些修改才能正常地运行在Python 3的环境下.为 ...
- python2 与 python3的区别总结
python2 与 python3的区别总结 几乎所有的Python 2程序都需要一些修改才能正常地运行在Python 3的环境下.为了简化这个转换过程,Python 3自带了一个叫做2to3的 ...
- 详解python2 和 python3的区别
看到这个题目大家可能猜到了我接下来要讲些什么,呵呵,对了,那就是列出这两个不同版本间的却别!搜索一下大家就会知道,python有两个主要的版本,python2 和 python3 ,但是python又 ...
- python2和python3的区别
python2和python3的区别 参考链接:http://www.runoob.com/python/python-2x-3x.html 1.源码上的区别 python2 python3 源码不规 ...
- 详解python2 和 python3的区别-乾颐堂
看到这个题目大家可能猜到了我接下来要讲些什么,呵呵,对了,那就是列出这两个不同版本间的却别!搜索一下大家就会知道,python有两个主要的版本,python2 和 python3 ,但是python又 ...
- python2与python3的区别,以及注释、变量、常量与编码发展
python2与python3的区别 宏观上: python2:源码不统一,混乱,重复代码太多. python3:源码统一标准,能去除重复代码. 编码上: python2:默认编码方式为ASCII码. ...
随机推荐
- keepalived介绍及工作原理
keepalived介绍keepalived观察其名可知,保持存活,在网络里面就是保持在线了,也就是所谓的高可用或热备,它集群管理中保证集群高可用的一个服务软件,其功能类似于heartbeat,用来防 ...
- SQL Server 数据库中的异常信息与编号
SQL Server 数据库中的系统表提供了强大的元数据信息,其中 dbo.sysmessages 表中存储了数据库执行命令过程中的所有消息. SELECT * FROM master.dbo.sys ...
- 小游戏canvas直接操作ImgaeData时的几个优化点
前不久在处理一个canvas绘图需求时,经过不断测试优化,将重绘一帧的时间由400ms降低至20ms左右,基本满足了要求.特此记录一下优化方向. 设备环境:Android,360*720,pixelR ...
- linux 访问到对应的接口
8080端口已经打开. 8080端口已被监听 telnet 192.168.163.128 8080 成功 也可以将防火墙关闭,这样所有的接口已经开放,不会再被拦截.这种情况下只要8080端口被某 ...
- Windows 运行命令大全,装逼必备哦!
以下已整理,以字母先后排序: appwiz.cpl:程序和功能 cliconfg:SQL SERVER 客户端网络实用工具 cmd:CMD命令提示符 comexp.msc或者dcomcnfg:组件服务 ...
- angular简介
1.angular简介 一款非常优秀的前端高级 JS 框架 由 Misko Hevery 等人创建 2009 年被 Google 公式收购,用于其多款产品 有一个全职的开发团队继续开发和维护这个库 有 ...
- Dalvik和ART
--摘自<Android进阶解密> DVM和ART都是在Zygote进程中诞生的 *DVM和JVM的区别* 1.基于的架构不同 DVM是基于寄存器的,它没有基于栈的虚拟机在复制数据时而使用 ...
- JavaScript处理null、undefined和空值
最近一直在写前端,在使用jquery的ajax请求然后处理返回值的时候,经常会遇到返回值为undefined或者"null"的情况,很是头疼,而返回接口是来自于其他公司的,所以这种 ...
- 有关UnrealEngine材质编辑器中的Custom节点的一些小贴士
PS:本文写于2017.2.1日,使用版本为4.13.第二次更新时间为2017.3.15增加了四.一些材质编辑器中的奇怪的技巧: 一.前言在Unreal中材质编辑器提供了Custom节点,作为HLSL ...
- LevelDB C API 整理分类
// 结构体列表 typedef struct leveldb_t leveldb_t; // 数据库 typedef struct leveldb_cache_t leveldb_cache_t; ...