Python3.6正式版新特性预览

发布时间 - 2026-01-10 21:49:56    点击率:

按照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,可以看下这里  https://www./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、3.7、3.8新特性小结  # python3.7 的新特性详解  # 简单了解Python3里的一些新特性  # Python3.7 新特性之dataclass装饰器  # python3新特性函数注释Function Annotations用法分析  # Python3.9新特性详解  # 下划线  # 官网  # 都是  # 文档  # 随机数  # 有个  # 这么多  # 但在  # 开了  # 你想  # 希望能  # 更高  # 引入了  # 有兴趣  # 可以直接  # 作为一个  # 第一时间  # 只在  # 又不 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  Laravel Session怎么存储_Laravel Session驱动配置详解  大连网站制作公司哪家好一点,大连买房网站哪个好?  如何用搬瓦工VPS快速搭建个人网站?  教你用AI润色文章,让你的文字表达更专业  猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?  Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能  如何用PHP快速搭建CMS系统?  Laravel如何安装使用Debugbar工具栏_Laravel性能调试与SQL监控插件【步骤】  再谈Python中的字符串与字符编码(推荐)  Laravel如何从数据库删除数据_Laravel destroy和delete方法区别  高防服务器租用首荐平台,企业级优惠套餐快速部署  Python文本处理实践_日志清洗解析【指导】  Laravel怎么使用artisan命令缓存配置和视图  Bootstrap CSS布局之列表  edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】  如何用PHP工具快速搭建高效网站?  Python数据仓库与ETL构建实战_Airflow调度流程详解  php做exe能调用系统命令吗_执行cmd指令实现方式【详解】  Java解压缩zip - 解压缩多个文件或文件夹实例  简单实现Android文件上传  Python3.6正式版新特性预览  Win11怎么关闭透明效果_Windows11辅助功能视觉效果设置  Laravel如何使用withoutEvents方法临时禁用模型事件  JS碰撞运动实现方法详解  魔方云NAT建站如何实现端口转发?  网易LOFTER官网链接 老福特网页版登录地址  如何快速打造个性化非模板自助建站?  Laravel如何与Vue.js集成_Laravel + Vue前后端分离项目搭建指南  用v-html解决Vue.js渲染中html标签不被解析的问题  Laravel如何配置中间件Middleware_Laravel自定义中间件拦截请求与权限校验【步骤】  宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法  HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】  Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】  Laravel DB事务怎么使用_Laravel数据库事务回滚操作  Laravel如何生成API文档?(Swagger/OpenAPI教程)  消息称 OpenAI 正研发的神秘硬件设备或为智能笔,富士康代工  Laravel Eloquent关联是什么_Laravel模型一对一与一对多关系精讲  高端云建站费用究竟需要多少预算?  如何做网站制作流程,*游戏网站怎么搭建?  php结合redis实现高并发下的抢购、秒杀功能的实例  Linux虚拟化技术教程_KVMQEMU虚拟机安装与调优  如何自定义建站之星网站的导航菜单样式?  七夕网站制作视频,七夕大促活动怎么报名?  Laravel全局作用域是什么_Laravel Eloquent Global Scopes应用指南  如何在橙子建站中快速调整背景颜色?  如何在万网利用已有域名快速建站?  Laravel观察者模式如何使用_Laravel Model Observer配置  Laravel如何生成URL和重定向?(路由助手函数)  Laravel怎么实现一对多关联查询_Laravel Eloquent模型关系定义与预加载【实战】