Python模块future用法原理详解

yipeiwu_com6年前Python基础

这篇文章主要介绍了Python模块future用法原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

计算机的知识太多了,很多东西就是一个使用过程中详细积累的过程。最近遇到了一个很久关于future的问题,踩了坑,这里就做个笔记,免得后续再犯类似错误。

 future的作用:把下一个新版本的特性导入到当前版本,于是我们就可以在当前版本中测试一些新版本的特性。说的通俗一点,就是你不用更新python的版本,直接加这个模块,就可以使用python新版本的功能。 下面我们用几个例子来说明它的用法:

python 2.x print不是一个函数,不能使用help. python3.x print是一个函数,可以使用help.这个时候,就可以看一下future的好处了:

代码:

# python2
#from __future__ import absolute_import, division, print_function
#print(3/5)
#print(3.0/5)
#print(3//5)
help(print)

运行结果:

➜ future git:(master) ✗ python future.py
 File "future.py", line 8
  help(print)
       ^
SyntaxError: invalid syntax

报错了,原因就是python2 不支持这个语法。

上面只需要把第二行的注释打开:

# python2
from __future__ import absolute_import, division, print_function
#print(3/5)
#print(3.0/5)
#print(3//5)
help(print)

结果如下,就对了:

Help on built-in function print in module __builtin__:

print(...)
  print(value, ..., sep=' ', end='\n', file=sys.stdout)
  
  Prints the values to a stream, or to sys.stdout by default.
  Optional keyword arguments:
  file: a file-like object (stream); defaults to the current sys.stdout.
  sep: string inserted between values, default a space.
  end: string appended after the last value, default a newline.

另外一个例子:是关于除法的:

# python2
#from __future__ import absolute_import, division, print_function

print(3/5)
print(3.0/5)
print(3//5)
#help(print)

结果:

➜ future git:(master) ✗ python future.py
0.6

把编译宏打开,运算结果:

➜ future git:(master) ✗ python future.py
0.6
0.6

看看,python3.x的语法可以使用了。

有了这两个例子,估计你对future的用法就清晰了吧。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python线程条件变量Condition原理解析

这篇文章主要介绍了Python线程条件变量Condition原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Condition...

python实现n个数中选出m个数的方法

python实现n个数中选出m个数的方法

题目: 某页纸上有一个数列A,A包含了按照从小到大的顺序排列的多个自然数,但是因为一些原因,其中有M个连续的位置看不清了。这M个数左边最小的数是X,右边最大的数是Y,这些数之和大于等于P...

Python中装饰器学习总结

本文研究的主要内容是Python中装饰器相关学习总结,具体如下。 装饰器(decorator)功能 引入日志 函数执行时间统计 执行函数前预备处理 执行函数后清理功能...

浅谈Python中带_的变量或函数命名

Python 的代码风格由 PEP 8 描述。这个文档描述了 Python 编程风格的方方面面。在遵守这个文档的条件下,不同程序员编写的 Python 代码可以保持最大程度的相似风格。这...

详解Python 序列化Serialize 和 反序列化Deserialize

详解Python 序列化Serialize 和 反序列化Deserialize 序列化 (serialization) 序列化是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是...