__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的每个新版本都会增加一些新的功能,或者对原来的功能作一些改动.有些改动是不兼容旧版本的,也就是在当前版本运行正常的代码,到下一个版本运行就可能不正常了.为了在低版本中可以使用高版本的新特性,我们可以在低版本中导入__futrure__模块. 比如:python2.x中进行除法运算: >>> 1/2 0 而要进行精确除法可以使用如下方式: >>> 1/2.0 0.5 这在python中北称为地板除. 而在python3.x中,普通除法已经可以兼容精确除法: &…
Python提供了__future__模块,把下一个新版本的特性导入到当前版本,于是我们就可以在当前版本中使用一些新版本的特性,比如除法: 在Python 2.x中,对于除法有两种情况,如果是整数相除,结果仍是整数,余数会被扔掉,这种除法叫“地板除”: >>> 10 / 3 3 要做精确除法,必须把其中一个数变成浮点数: >>> 10.0 / 3 3.3333333333333335 而在python 3.x中,所有的除法都是精确除法,地板除用//表示. 如果你想在Py…
一.概述 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模块导入.在2.1版本之前并没有future,所以使用它会引发异常.当然,在以后的某个版本中,比如说3中,某个特性已经成为标准的一部分,那么使用该特性就不用从future导入…
使用__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'…
每个程序在更新版本之后,都会相较于上一个版本有所改动.这些改动会给程序的使用者造成不小的困扰! 比如python2.xx和3.xx的改动,足够让新手们头大了! 在3中, u'xxx'和'xxx'都是字符串类型(3中将type关键字换成了class,头疼!) b'xxx'表示字节类型 在2中, u'xxx'类型为Unicode,b'xxx'和'xxx'是str类型,这里尤其要注意,2中的str表示字节类型. 真是头昏!每次都要注意3和2的区别! 于是,__future__模块就出现了!对于3和2文…
今天看到了Pyhon中的模块__future__,查了一下资料,感觉这个module很有用. 从python2.1开始以后, 当一个新的语言特性首次出现在发行版中时候, 如果该新特性与以前旧版本python不兼容, 则该特性将会被默认禁用. 如果想启用这个新特性, 则必须使用 "from __future__import *" 语句进行导入. 示例: 1. Python 2.7中也有一个 __future__ import 使得所有的字符串文本成为Unicode字符串.这就意味着\u转…
此部分来自于<Python学习手册>第五部分 一.模块(21章) 模块是最高级别的程序组织单元,它将程序代码和数据封装起来以便重用..模块往往对应于python程序文件.每个文件就是一个模块,并且模块导入其他模块之后就可以使用导入模块定义的变量名.模块可以由两个语句和一个重要的内置函数进行处理:a.import,使客户端(导入者)以一个整体获取一个模块:b.from,允许客户端从一个模块文件中获取特定的变量名:c.imp.reload,在不中止python程序的情况下,提供了一种重新载入模块文…
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__模块的某些功能来实现. 例如,Python 2.7的整数除法运算结果仍是整数: >>> 10 / 3 3 但是,Python 3.x已经改进了整数的除法运算,“/”除将得到浮点数,“//”除才仍是整数: >>> 10 / 3 3.3333333333333335 >>> 10 // 3 3 要在Python 2…
模块 .note-content {font-family: "Helvetica Neue",Arial,"Hiragino Sans GB","STHeiti","Microsoft YaHei","WenQuanYi Micro Hei",SimSun,Song,sans-serif;} .note-content h2 {line-height: 1.6; color: #0AA89E;} .not…
Python中,一个.py文件就是一个模块(module):而,包含了多个模块的一个目录,称为包. 每一个包中,都包含一个_init_.py文件,可以是一个空文件,这是Python将普通目录识别为包的特征点. 模块的文件名是directory.module,前面是包含该模块的包的名字,后面是该模块的名字,例如: 文件www.py的模块名就是mycompany.web.www,两个文件utils.py的模块名分别是mycompany.utils和mycompany.web.utils. 使用模块…
在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式.在Python中,一个.py文件就称之为一个模块(Module). 使用模块有什么好处? 最大的好处是大大提高了代码的可维护性.其次,编写代码不必从零开始.当一个模块编写完毕,就可以被其他地方引用.我们在编写程序的时候,也经常引用其他模块,包括Python内置的模…
参考链接:http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001386820023084e5263fe54fde4e4e8616597058cc4ba1000 在python2.7到3.x有一些不兼容的改动,如果直接升级python的版本,会导致一些旧版本的python代码不可执行;为了解决这一问题,python社区开发了__future__模块; 1.字符串兼容 在python…
读代码的过程中看到的,好奇搜索了一下,其实当在我们调试别人Python代码的过程中经常会遇到一些问题,比如版本不同,代码也会有所改变,比如print函数 Python 2.7版本为 print “ ” ,Python3.0以上版本为print (“ ”) 有没有什么解决方法呢. Python 3.x引入了一些与Python 2不兼容的关键字和特性,在Python 2中,可以通过内置的__future__模块导入这些新内容.如果你希望在Python 2环境下写的代码也可以在Python 3.x中运…
一:模块 一个模块就是一个py文件,里面定义了一些业务函数.引用模块,可以用import语句导入.导入模块后,通过 模块.函数名(参数)  来使用模块中的函数.如果存在多个同名模块,则前面模块名需要加上包路径. 如果我们只需导入模块中的几个函数,可以用 from 模块名 import 函数名,函数名,..的形式来导入,这样就可以在代码中使用函数名来调用函数,无需路径. 为了避免同名冲突,还可以在导入函数的同时设置别名,from 模块名 import 函数名 as 别名,然后在代码中就可以使用别名…
1.在python2.x的环境是使用下面语句,则第二句语法检查通过,第三句语法检查失败 from __future__ import print_function priint('good') print 'bad' 2.Python提供了__future__模块,把下一个新版本的特性导入到当前版本,于是我们就可以在当前版本中测试一些新版本的特性 参考:http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9…
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAW4AAABpCAIAAACVsl7UAAAgAElEQVR4nO2993vUxho2/P4r33XwSr…
Python的新版本会引入一些新的功能特性,但一般一部分的新功能可以在旧版本上测试,测试成功再移植到新的版本上,旧版本可以通过导入__future__模块的某些功能,测试新版本的新功能.(注意:future前后均为两条下划线,总共四条下划线,原来一直以为前后只有一条下划线,导入模块一直出错) 在python2.x版本中,整数的除法运算,结果是整数,余数被忽略. 例如: >>> 10/3 3 新版本python 3.x中,改动的功能除法运算中除法符号为“//”,结果是整数,符号为‘/’,结…
python 中模块和保定 概念 如果将代码分才投入多个py 文件,好处: 同一个变量名也互不影响.   python 模块导入 要使用一个模块,我们必须先导入该模块.python 使用import 语句导入一个模块,例如导入系统自带的模块 impoor math 你可以认为math就是一个指向已导入模块的变量,通过该变量, 我们可以访问math模块中所定义的所有公开的函数.变量和类: 如果我们只希望导入用到的math模块的某几个函数,而不是所有函数, 可以用下面的语句: from math i…
原文链接: http://www.cnblogs.com/ajianbeyourself/p/4471035.html 使用from __future__ import unicode_literals时要注意的问题   阅读目录 1. 问题 2. 原因分析 3. 解决方案 add by zhj: 在Python中有些库的接口要求参数必须是str类型字符串,有些接口要求参数必须是unicode类型字符串.对于str类型的字符串,调用len()和遍历时,其实都是以字节为单位的,这个太坑爹了,同一个…
转载请标明出处: http://www.cnblogs.com/why168888/p/6411917.html 本文出自:[Edwin博客园] Python模块(进阶3) 1. python中模块和包的概念 代码越来越多的时候 将所有代码放入一个py文件:无法维护 如果将代码分拆放入多个py文件,好处: 同一个名字的变量互不影响 引用其他模板 # test.py # 自身模块名test import math # 引用math模块 print math.pow(2,10) # 调用math模块…
在Python中,你如果在某一个版本的Python想使用未来版本中的功能,可以使用如下语法实现: from __future__ import futurename 这条语句必须放在module文件的第一行才行. 比如想在Python 2.X中使用Python 3.X的print函数,那么,只需要在模块文件第一行加入: from __future__ import print_function 但是,怎样才能知道futurename有哪些呢?一个方法如下: import __future__ #…
add by zhj: 在Python中有些库的接口要求参数必须是str类型字符串,有些接口要求参数必须是unicode类型字符串.对于str类型的字符串,调用len()和遍历时,其实都是以字节为单位的,这个太坑爹了,同一个字符使用不同的编码格式,长度往往是不同的.对unicode类型的字符串调用len()和遍历才是以字符为单位,这是我们所要的.另外,Django,Django REST framework的接口都是返回unicode类型的字符串.为了统一,我个人建议使用from __futur…
Python的新版本会引入新的功能,但是,实际上这些功能在上一个老版本中就已经存在了.要“试用”某一新的特性,就可以通过导入__future__模块的某些功能来实现. 例如,Python 2.7的整数除法运算结果仍是整数: >>> 10 / 3 3 但是,Python 3.x已经改进了整数的除法运算,“/”除将得到浮点数,“//”除才仍是整数: >>> 10 / 3 3.3333333333333335 >>> 10 // 3 3 要在Python 2…
模块:在程序设计中,为完成某一功能所需的一段程序或子程序:或指能由编译程序.装配程序等处理的独立程序单位. 在我们编程的时候我们如果将所有的文件都放在那个py文件中,我们的py文件会很大,这样也很不好维护. 所以我们会把他们分成各个模块. 并且,如果我们在写程序的时候我们可能会多次使用到同一个变量,如果他们放在同一个模块当中,就会出问题,但是如果我们将他们放在不同的文件当中,就不会出问题. #a.util x = a def fn(x) #b.util x = b def fn(x) 类似于这样…
转自 https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001386820023084e5263fe54fde4e4e8616597058cc4ba1000 from __future__ import unicode_literals Python的每个新版本都会增加一些新的功能,或者对原来的功能作一些改动.有些改动是不兼容旧版本的,也就是在当前版本运行正常的代码,到下一个版本…
6. 模块(一个 .py 文件称为一个模块Module) import 语句 类似 _xxx 和 __xxx 这样的 函数/变量 是非公开的(private),不应该被直接引用 函数定义: 外部不需要引用的函数全部定义成private,只有外部需要引用的函数才定义为public. 实例属性和类属性 千万不要把实例属性和类属性使用相同的名字,因为相同名称的实例属性将屏蔽掉类属性,但是当你删除实例属性后,再使用相同的名称,访问到的将是类属性. @property装饰器 --简化代码,避免每个函数编写…
import xxx from yy.xxx import xx from yy.xxx import xx as x python最常见的导包导模块语句 yy为包名,包就是文件夹,模块就是xxx.py文件 今天发现一个神奇的模块  __future__ python之使用__future__ Python的新版本会引入新的功能,但是,实际上这些功能在上一个老版本中就已经存在了.要“试用”某一新的特性,就可以通过导入__future__模块的某些功能来实现. 例如,Python 2.7的整数除法…