Python模块future用法原理详解


Posted in Python onJanuary 20, 2020

这篇文章主要介绍了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 相关文章推荐
Python3基础之基本数据类型概述
Aug 13 Python
处理Python中的URLError异常的方法
Apr 30 Python
Python面向对象之接口、抽象类与多态详解
Aug 27 Python
使用django-guardian实现django-admin的行级权限控制的方法
Oct 30 Python
对python字典过滤条件的实例详解
Jan 22 Python
详解pytorch 0.4.0迁移指南
Jun 16 Python
基于Python实现船舶的MMSI的获取(推荐)
Oct 21 Python
python读取word 中指定位置的表格及表格数据
Oct 23 Python
python序列类型种类详解
Feb 26 Python
Python callable内置函数原理解析
Mar 05 Python
matplotlib基础绘图命令之imshow的使用
Aug 13 Python
Keras多线程机制与flask多线程冲突的解决方案
May 28 Python
使用Tensorflow将自己的数据分割成batch训练实例
Jan 20 #Python
Python JSON编解码方式原理详解
Jan 20 #Python
从训练好的tensorflow模型中打印训练变量实例
Jan 20 #Python
利用Tensorflow构建和训练自己的CNN来做简单的验证码识别方式
Jan 20 #Python
新年福利来一波之Python轻松集齐五福(demo)
Jan 20 #Python
Python timer定时器两种常用方法解析
Jan 20 #Python
tensorflow 固定部分参数训练,只训练部分参数的实例
Jan 20 #Python
You might like
在服务端进行目录建立、删除,文件上传、删除的过程的php代码
2008/09/10 PHP
php运行出现Call to undefined function curl_init()的解决方法
2010/11/02 PHP
php获取网页中图片、DIV内容的简单方法
2014/06/19 PHP
PHP把数字转成人民币大写的函数分享
2014/06/30 PHP
thinkPHP5框架auth权限控制类与用法示例
2018/06/12 PHP
PHP实现数组转JSon和JSon转数组的方法示例
2018/06/14 PHP
PHP重载基础知识回顾
2020/09/10 PHP
JavaScript 自动分号插入(JavaScript synat:auto semicolon insertion)
2009/11/04 Javascript
中止javascript执行的方法
2014/02/14 Javascript
标题过长使用javascript按字节截取字符串
2014/04/24 Javascript
JavaScript模拟重力状态下抛物运动的方法
2015/03/03 Javascript
jQuery层动画定位滑动效果的方法
2015/04/30 Javascript
详解JavaScript中的blink()方法的使用
2015/06/08 Javascript
Bootstrap轮播加上css3动画,炫酷到底!
2015/12/22 Javascript
深入理解JS addLoadEvent函数
2016/05/20 Javascript
BootStrap中的table实现数据填充与分页应用小结
2016/05/26 Javascript
JS实现兼容各种浏览器的高级拖动方法完整实例【测试可用】
2016/06/21 Javascript
jQuery插件FusionCharts实现的MSBar3D图效果示例【附demo源码】
2017/03/23 jQuery
Bootstrap Table使用整理(一)
2017/06/09 Javascript
微信小程序实现导航栏选项卡效果
2020/06/19 Javascript
jQuery时间戳和日期相互转换操作示例
2018/12/07 jQuery
如何在wxml中直接写js代码(wxs)
2019/11/14 Javascript
解决vue动态下拉菜单 有数据未反应的问题
2020/08/06 Javascript
对vue生命周期的深入理解
2020/12/03 Vue.js
通过vue.extend实现消息提示弹框的方法记录
2021/01/07 Vue.js
[46:49]完美世界DOTA2联赛PWL S3 access vs Rebirth 第二场 12.19
2020/12/24 DOTA
matplotlib subplots 调整子图间矩的实例
2018/05/25 Python
python selenium 获取标签的属性值、内容、状态方法
2018/06/22 Python
美国地毯购买网站:Rugs USA
2019/02/23 全球购物
美国葡萄酒网上商店:Martha Stewart Wine Co.
2019/03/17 全球购物
英国在线药房和在线药剂师:Chemist 4 U
2020/01/05 全球购物
Linux不知道文件后缀名怎么判断文件类型
2014/08/21 面试题
业务部经理岗位职责
2014/01/04 职场文书
房屋买卖协议书范本
2014/04/10 职场文书
2016年大学生暑期社会实践方案
2015/11/26 职场文书
Nginx 常用配置
2022/05/15 Servers