Python3.6正式版新特性预览_python

按照Python官网上的计划,Python3.6正式版期望在2016-12-16号发布,也就是这周五。从去年的5月份开始,Python3.6版本就已经动手开发了,期间也断断续续的发布了4个Alpha版,4个Beta版,以及一个Candidate版本。

作为一个Python爱好者,很期待新版本的发布,也希望能第一时间尝试一下新特性。本文就根据Python官网文章What's New In Python 3.6,简单介绍下Python3.6中的一些新特性。

如果你想尝试Python3.6,又不想破坏本机的Python环境,建议使用Docker。如果不会使用Docker,可以看下这里  http://www.jb51.net/article/94198.htm

新的语法特性

1、格式化字符串(Formatted string literals)

即在普通字符串前添加 f 或 F 前缀,其效果类似于str.format()。比如

name = "Fred"
print(f"He said his name is {name}.") # 'He said his name is Fred.'

其效果相当于:

print("He said his name is {name}.".format(**locals()))

此外,此特性还支持嵌套字段,比如:

width = 10
precision = 4
value = decimal.Decimal("12.34567")
print(f"result: {value:{width}.{precision}}") #'result:   12.35'

2、变量声明语法(variable annotations)

即从Python3.5开始就有的Typehints。在Python3.5中,是这么使用的:

from typing import List

def test(a: List[int], b: int) -> int:
  return a[0] + b

print(test([3, 1], 2))

这里的语法检查只在编辑器(比如Pycharm)中产生,在实际的使用中,并不进行严格检查。

在Python3.6中,引入了新的语法:

from typing import List, Dict

primes: List[int] = []
captain: str  # 此时没有初始值

class Starship:
  stats: Dict[str, int] = {}

3、数字的下划线写法(Underscores in Numeric Literals)

即允许在数字中使用下划线,以提高多位数字的可读性。

a = 1_000_000_000_000_000    # 1000000000000000
b = 0x_FF_FF_FF_FF       # 4294967295

除此之外,“字符串格式化”也支持“_”选项,以打印出更易读的数字字符串:

'{:_}'.format(1000000)     # '1_000_000'
'{:_x}'.format(0xFFFFFFFF)   # 'ffff_ffff'

4、异步生成器(Asynchronous Generators)

在Python3.5中,引入了新的语法 async 和 await 来实现协同程序。但是有个限制,不能在同一个函数体内同时使用 yield 和 await,在Python3.6中,这个限制被放开了,Python3.6中允许定义异步生成器:

async def ticker(delay, to):
"""Yield numbers from 0 to *to* every *delay* seconds."""
  for i in range(to):
    yield i
    await asyncio.sleep(delay)

5、异步解析器(Asynchronous Comprehensions)

即允许在列表list、集合set 和字典dict 解析器中使用 async for 或 await 语法。

result = [i async for i in aiter() if i % 2]
result = [await fun() for fun in funcs if await condition()]

新增加模块

Python标准库(The Standard Library)中增加了一个新的模块:secrets。该模块用来生成一些安全性更高的随机数,以用来管理数据,比如passwords, account authentication, security tokens, 以及related secrets等。具体用法可参考官方文档:secrets

其他新特性

1、新的 PYTHONMALLOC 环境变量允许开发者设置内存分配器,以及注册debug钩子等。

2、asyncio模块更加稳定、高效,并且不再是临时模块,其中的API也都是稳定版的了。

3、typing模块也有了一定改进,并且不再是临时模块。

4、datetime.strftime 和 date.strftime 开始支持ISO 8601的时间标识符%G, %u, %V。

5、hashlib 和 ssl 模块开始支持OpenSSL1.1.0。

6、hashlib模块开始支持新的hash算法,比如BLAKE2, SHA-3 和 SHAKE。

7、Windows上的 filesystem 和 console 默认编码改为UTF-8。

8、json模块中的 json.load() 和 json.loads() 函数开始支持 binary 类型输入。

9、.......

还有很多其他特性,但在平时工作中能用到的大概就这么多了。有兴趣的读者可以直接参考官方文档:What's New In Python 3.6

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索新特性
, python3.6新特性
, python3新特性
python3.6
python3.6新特性、python3.6正式版、wex5 3.6新特性、python3新特性、python3.5新特性,以便于您获取更多的相关知识。

时间: 2024-10-21 19:56:25

Python3.6正式版新特性预览_python的相关文章

Opera 20浏览器正式版新特性:书签栏的提升

Opera软件公司今天发布了Windows.Mac和Android版的Opera 20 FINAL正式版本,这是自这款浏览器采用Chromium浏览器引擎后发布的第六个主要版本更新,相比先前的版本有一些细节方面的改进,而非革命性变化. Opera 20的许多新特性实际是在1月份Opera 19发布之时就添加到产品中的,包括有书签栏的提升.Hardcore模式,以及少量的细节调整.书签栏的出现在Opera 19中就受到了用户的欢迎,相对为用户提供了快速拨号(Speed Dial)之外的第二选择.而

Android L 正式版推出前预览版不再有更新

如果你还在等待Android L开发者预览版再次更新的话,估计这个消息要让你失望了.因为在正式版来临前,Android L开发者预览版不会再有更新了.日前,谷歌在YouTube上发布了一段关于Android L开发者预览版的视频,随后一位开发者询问Adroid L Previe是否还会有更新,一位名为Hyndman的谷歌员工回答称"未来不会推出更新". Android L开发者预览版主要目的是帮助开发者测试应用,以便在Android L正式推出前能优化好自己开发的APP,保证它们在An

PHP6 中可能会出现的新特性预览

 PHP核心团队开发者Pierre Joye近日在官网上贴出了PHP6中可能会出现的新特性.之所以说是"可能会出现",是因为目前PHP6项目还处于草案阶段,这些特性还只是一个想法,还需要讨论,随时都有可能变更     这些特性包括:       集成OpCache(OPcache通过对PHP的opcode进行缓存和优化,可以提高PHP程序的执行速度)     改善对64位环境的支持     支持Unicode     清理内部API     提升代码质量,做到Warning-Free

PHP6 中可能会出现的新特性预览_php技巧

  这些特性包括:     集成OpCache(OPcache通过对PHP的opcode进行缓存和优化,可以提高PHP程序的执行速度)    改善对64位环境的支持    支持Unicode    清理内部API    提升代码质量,做到Warning-Free    改善OPcodes.编译器.运行时    JIT编译器(LibJIT?)    支持Annotation(注解?)    命名自变量(Named argument)    不同等级的类型提示    支持HTTP 2.0协议(可能会

Office 2016 正式发布——新特性预览

今天微软又发生了一件大事!Windows Office 2016正式发布,这标志着Windows Office 又达到了一个新的里程碑! 全新的Office 发布为Office 365 用户带来了新的价值,它不仅与Windows 10完美匹配,并且更加重视商业安全.用户使用这些新功能特性能够更加流畅的工作,不受干扰.随着Windows 2016发布,Mac Office 2016也同期上线. 全新的Office 体验--让团队协作更加便捷高效 全新的Office 让团队协作变得更加轻松便捷,Of

OS X Yosemite 10.10正式版新功能

  OS X Yosemite 10.10正式版新功能介绍在今天早上终于正式发布了,这是 OS X系统历史上变化最大的一次,OS X终于全面的走向了扁平化. 在这个时候我们自然是想要尽快的体验到正式版的乐趣,怎么办呢?方法一:打开你的 Mac App Store ,在首页的幻灯片里面就有 OS X 10.10 的下载地址,直接下载更新即可.方法二:在PC6苹果网下载 OS X 10.10 完整版固件然后再安装更新.然后再验证更新即可. S X Yosemite 安装应用中 InstallESD.

微软称11月发布Win7版IE10浏览器预览版

微软11月发布Windows 7版IE10预览版( 腾讯科技配图)腾讯科技讯(晁晖)北京时间10月18日消息,据国外媒体报道,微软今天表示,该公司将于11月份发布Windows 7版IE10的预览版,但没有透露正式版发布时间.IE团队项目经理罗布·莫科瑞(Rob Mauceri)今天在官方博客中表示,"我们将于11月月中发布Windows 7版IE10的一款预览版本,我们获得开发者和用户的反馈后才能确定正式版发布时间."微软没有披露与Windows 7版IE10相关的其他问题,其中包括

让Flash 3D动画更精彩!Swift 3D 4.0版新特性展示

Swift 3D是专门为Macromedia Flash设计者,图形艺术家和其他专注于2D世界的设计者开发的工具.它提供了良好的用户界面,即便是非3D专业人士也能轻松上手,而其价格则远远低于标准的3D软件.Swift 3D强大的矢量及位图渲染功能是初学者及专业人士制作3D矢量动画的良好选择. Swift 3D 4.0 windows版已于今年7月13日发布,而Mac版则要稍迟一些才能发布. 最新版Swift 3D加入了不少激动人心的新功能: 1.高级建模环境 高级建模环境引入了与顶级建模程序同样

win7旗舰版电脑出现预览延迟情况怎么办?

  关于w764位旗舰版下载电脑的预览功能,想必大家都十分的了解吧?预览功能是咱们win7旗舰版系统的一个新功能,这是以前的Windows系统中所没有的,也就是在咱们win7旗舰版电脑下方的任务栏窗口上,咱们用鼠标指向任意的一个窗口,就可以出现一个预览窗口,让我们不用点击打开就可以看到其中的内容,不过最近却有使勇win7旗舰版电脑的用户表示,自己电脑中的这个预览窗口会出现延迟的情况,那么这个问题我们要如何处理呢?下面,小编就来详细的介绍一下吧! 1.首先,咱们返回到win7旗舰版电脑的桌面位置,