Python使用__future__

Python的新版本会引入新的功能,但是,实际上这些功能在上一个老版本中就已经存在了。要“试用”某一新的特性,就可以通过导入__future__模块的某些功能来实现。

例如,Python 2.7的整数除法运算结果仍是整数:

>>> 10 / 3
3

但是,Python 3.x已经改进了整数的除法运算,“/”除将得到浮点数,“//”除才仍是整数:

>>> 10 / 3
3.3333333333333335
>>> 10 // 3
3

要在Python 2.7中引入3.x的除法规则,导入__future__division

>>> from __future__ import division
>>> print 10 / 3
3.3333333333333335

当新版本的一个特性与旧版本不兼容时,该特性将会在旧版本中添加到__future__中,以便旧的代码能在旧版本中测试新特性。

任务

Python 3.x中,字符串统一为unicode,不需要加前缀 u,而以字节存储的str则必须加前缀 b。请利用__future__unicode_literals在Python
2.7中编写unicode字符串。

?不会了怎么办

使用from __future__ import unicode_literals将把Python 3.x的unicode规则带入Python 2.7中。

参考代码:

from __future__ import unicode_literals
s = ‘am I an unicode?‘
print isinstance(s, unicode)

时间: 2024-11-05 11:41:58

Python使用__future__的相关文章

python 使用__future__

Python的每个新版本都会增加一些新的功能,或者对原来的功能作一些改动.有些改动是不兼容旧版本的,也就是在当前版本运行正常的代码,到下一个版本运行就可能不正常了. 从Python 2.7到Python 3.x就有不兼容的一些改动,比如2.x里的字符串用'xxx'表示str,Unicode字符串用u'xxx'表示unicode,而在3.x中,所有字符串都被视为unicode,因此,写u'xxx'和'xxx'是完全一致的,而在2.x中以'xxx'表示的str就必须写成b'xxx',以此表示“二进制

【python】__future__模块

转自:http://www.jb51.net/article/65030.htm Python的每个新版本都会增加一些新的功能,或者对原来的功能作一些改动.有些改动是不兼容旧版本的,也就是在当前版本运行正常的代码,到下一个版本运行就可能不正常了. 从Python 2.7到Python 3.x就有不兼容的一些改动,比如2.x里的字符串用'xxx'表示str,Unicode字符串用u'xxx'表示unicode,而在3.x中,所有字符串都被视为unicode,因此,写u'xxx'和'xxx'是完全一

python里面 __future__的作用

参考这篇文章: http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001386820023084e5263fe54fde4e4e8616597058cc4ba1000 其实就是在旧版本里面测试新版本的一些功能 比如python3.0里面的 division,//,unicode string 等等 在2.7里面通过 import __future__ 来获得新特性.当然了,我理解,

python from __future__ import division

1.在python2 中导入未来的支持的语言特征中division(精确除法),即from __future__ import division ,当我们在程序中没有导入该特征时,"/"操作符执行的只能是整除,也就是取整数,只有当我们导入division(精确算法)以后,"/"执行的才是精确算法. 2.但是在python3中已经支持了精确算法,所以无需再导入division(精确算法): 原文地址:https://www.cnblogs.com/feiquan/p/

用 Python 脚本实现对 Linux 服务器的监控

hon 分享到:8 原文出处: 曹江华 目前 Linux 下有一些使用 Python 语言编写的 Linux 系统监控工具 比如 inotify-sync(文件系统安全监控软件).glances(资源监控工具)在实际工作中,Linux 系统管理员可以根据自己使用的服务器的具体情况编写一下简单实用的脚本实现对 Linux 服务器的监控. 本文介绍一下使用 Python 脚本实现对 Linux 服务器 CPU 内存 网络的监控脚本的编写. Python 版本说明 Python 是由 Guido va

使用 Python 获取 Linux 系统信息

探索platform模块 platform模块在标准库中,它有很多运行我们获得众多系统信息的函数.让我们运行Python解释器来探索它们中的一些函数,那就从platform.uname()函数开始吧: >>> import platform>>> platform.uname()('Linux', 'fedora.echorand', '3.7.4-204.fc18.x86_64', '#1 SMP Wed Jan 23 16:44:29 UTC 2013', 'x86

广东海洋大学 电子1151 孔yanfei python语言程序设计 第三周

四.流程控制 在这块,Python与其它大多数语言有个非常不同的地方,Python语言使用缩进块来表示程序逻辑(其它大多数语言使用大括号等).例如: if age < 21: print("你不能买酒.") print("不过你能买口香糖.") print("这句话处于if语句块的外面.") 这个代码相当于c语言的: if (age < 21) { print("你不能买酒.") print("不过你能买

【跟我一起学Python吧】python with statement 进阶理解

由于之前有一个项目老是要打开文件,然后用pickle.load(file),再处理...最后要关闭文件,所以觉得有点繁琐,代码也不简洁.所以向python with statement寻求解决方法. 在网上看到一篇文章:http://effbot.org/zone/python-with-statement.htm是介绍with 的,参考着例子进行了理解. 如果经常有这么一些代码段的话,可以用一下几种方法改进: 代码段: set thing up try: do something except

001第一部分[python基础]

一.python基础 数据类型 原始类型:int float byte 复合类型: 由其他原始类型组合起来的类型list dict cuple 运算符和表达式: 算术运算符:         加 / 减 / 乘 / 除 / 取模 / 幂 / 地板除         +    -    *    /     %     **     // python2 的 除:10 / float(20) 位运算符[二进制之间的运算]: bin(60) 转换成二进制数int('1100',2)   将二进制转换