这篇文章主要介绍了Python模块future用法原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
计算机的知识太多了,很多东西就是一个使用过程中详细积累的过程。最近遇到了一个很久关于future的问题,踩了坑,这里就做个笔记,免得后续再犯类似错误。
future的作用:把下一个新版本的特性导入到当前版本,于是我们就可以在当前版本中测试一些新版本的特性。说的通俗一点,就是你不用更新python的版本,直接加这个模块,就可以使用python新版本的功能。 下面我们用几个例子来说明它的用法:
python 2.x print不是一个函数,不能使用help. python3.x print是一个函数,可以使用help.这个时候,就可以看一下future的好处了:
代码:
1
2
3
4
5
6
|
# python2 # from __future__ import absolute_import, division, print_function #print(3/5) #print(3.0/5) #print(3//5) help ( print ) |
运行结果:
1
2
3
4
5
|
➜ future git:(master) ✗ python future.py File "future.py", line 8 help(print) ^ SyntaxError: invalid syntax |
报错了,原因就是python2 不支持这个语法。
上面只需要把第二行的注释打开:
1
2
3
4
5
6
|
# python2 from __future__ import absolute_import, division, print_function #print(3/5) #print(3.0/5) #print(3//5) help ( print ) |
结果如下,就对了:
1
2
3
4
5
6
7
8
9
10
|
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. |
另外一个例子:是关于除法的:
1
2
3
4
5
6
7
|
# python2 #from __future__ import absolute_import, division, print_function print ( 3 / 5 ) print ( 3.0 / 5 ) print ( 3 / / 5 ) #help(print) |
结果:
1
2
|
➜ future git:(master) ✗ python future.py 0.6 |
把编译宏打开,运算结果:
1
2
3
|
➜ future git:(master) ✗ python future.py 0.6 0.6 |
看看,python3.x的语法可以使用了。
有了这两个例子,估计你对future的用法就清晰了吧。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://www.cnblogs.com/dylancao/p/11904524.html