使用__future__实现从python2.7到python3.x的过渡

参考链接:http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001386820023084e5263fe54fde4e4e8616597058cc4ba1000

在python2.7到3.x有一些不兼容的改动,如果直接升级python的版本,会导致一些旧版本的python代码不可执行;为了解决这一问题,python社区开发了__future__模块;

1.字符串兼容

在python2.7中,任意创建的字符串对象,比如a=‘str1‘,默认都表示字符串类型,如果需要将其转换为unicode码,就需要在字符串前面加上u,即a=u‘str1‘;

在python3.x中,任意创建的字符串,默认都是unicode码的,

from __future__ import unicode_literals
print ‘\‘xxx\‘ is unicode?‘,isinstance(‘xxx‘,unicode)
print ‘u\‘xxx\‘ is unicode?‘,isinstance(u‘xxx‘,unicode)
print ‘\‘xxx\‘ is str?‘,isinstance(‘xxx‘,str)
print ‘b\‘xxx\‘ is str?‘,isinstance(b‘xxx‘,str)

结果:
‘xxx‘ is unicode? True
u‘xxx‘ is unicode? True
‘xxx‘ is str? False
b‘xxx‘ is str? True

2、除法兼容

python2的地板除法,默认会只保留整数部分,如果要保留小数部分,需要

时间: 2024-11-09 04:49:00

使用__future__实现从python2.7到python3.x的过渡的相关文章

python2移植到python3

移植到 Python 3 经历移植jinja2到python3的痛苦之后,我把项目暂时放一放,因为我怕打破python3的兼容.我的做法是只用一个python2的代码库, 然后在安装的时候用2to3工具翻译成python3.不幸的是哪怕一点点的改动都会打破迭代开发.如果你选对了python的版本,你可以专心做事,幸 运的避免了这个问题. 来自MoinMoin项目的Thomas Waldmann通过我的python-modernize跑jinja2,并且统一了代码库,能同时跑python2,6,2

Python2.X 和 Python3.X的区别

(转)http://www.cnblogs.com/kungfupanda/archive/2016/06/01/5548303.html 1.性能 Py3.0运行 pystone benchmark的速度比Py2.5慢30%.Guido认为Py3.0有极大的优化空间,在字符串和整形操作上可 以取得很好的优化结果. Py3.1性能比Py2.5慢15%,还有很大的提升空间. 2.编码 Py3.X源码文件默认使用utf-8编码,这就使得以下代码是合法的:     >>> 中国 = 'chin

ubuntu下卸载python2和升级python3.5

卸载python只需一条语句就可以实现 sudu apt-get remove python ubuntu下安装python3 sudo apt-get install python3 但这样只安装了python3.4 要想使用python3.5,则必须升级python3.4 sudo add-apt-repository ppa:fkrull/deadsnakes sudo apt-get update sudo apt-get install python3.5 使用以上三行命令便可升级py

如何在CentOS6上安装Python2.7和Python3.3

原文来自http://toomuchdata.com/2014/02/16/how-to-install-python-on-centos/,个人觉得对在linux安装新版本Python是很有参考意义,因而转载,原文是英文的,本人简单翻译下,大家看懂即可,有不妥的地方请留言. 如何在CentOS 6上同时安装Python 2.7和Python 3.3 本文将介绍如何在CentOS 6上安装Python 2.7和3.3.下面以Python 2.7.6和Python 3.3.5为例进行说明,但本人实

Windows系统下如何在cmd命令窗口中切换Python2.7和Python3.6

针对在同一系统下我们可能安装多个版本的Python,毕竟Python2.7与Python3.6还是有不同的需求,但是在用Cmd命令窗口是我们可能默认的系统变量环境是其中一个版本,当我们需要在cmd命令窗口中需要对另外的一个版本进行操作时,我以前只有去更改系统环境变量Python2.7与Python3.6的位置前后顺序,让暂时需要的版本的位置处于环境变量前排..........But ~~这不是一个省心好方法,终于在今天,我get到了一个新的办法,目前感觉还不错. ================

烂泥:python2.7和python3.5源码安装

本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb 前几天在centos6.6安装ansible时,一直提示python版本不对,导致不能安装.只能手工进行手工安装python,为了以后不再添这个坑,特记录相关的安装过程. 本文以python2.7和python3.5安装为例. 一.安装python2.7 在安装python之前,我们先来安装在进行python编译时,所需要的的各种依赖软件包,如下: yum -y install xz

相比于python2.6,python3.0的新特性。

这篇文章主要介绍了相比于python2.6,python3.0的新特性.更详细的介绍请参见python3.0的文档. Common Stumbling Blocks 本段简单的列出容易使人出错的变动. print语句被print()函数取代了,可以使用关键字参数来替代老的print特殊语法.例如: Old: print "The answer is", 2*2 New: print("The answer is", 2*2) Old: print x,       

Windows10下python3和python2同时安装 python2.exe、python3.exe和pip2、pip3设置

1.添加python2到系统环境变量 打开,控制面板\系统和安全\系统,选择高级系统设置,环境变量,选择Path,点击编辑,新建,分别添加D:\Python\python27和D:\Python\python27\Scripts到环境变量. 注意:python3安装时可以选择自动添加到系统环境变量,如未选择,方法和python2添加过程相同. 2.修改python.exe名字为python2.exe和python3.exe 找到python2和python3的安装目录,修改python2.7.9

day10 Python作用域 Python2.7与Python3.x的类继承的区别及其他

一.Python作用域   1.Python中无块级作用域 if 1 == 1: name = 'test' print(name) #输出会报错,因为name的作用域仅限于if下的代码块,而不属于全局   2.Python中以函数为作用域 def func(): func_name = 'func_test' print(func_name) #这里同样会报错,因为变量func_name的作用于func函数中   3.Python作用域链,层层嵌套,使用时从内向外找   4.Python的作用