Python 3.6推出更好的词典,改进的Async I/O模块等诸多新功能

编辑:光环大数据 来源: 互联网 时间: 2017-10-20 10:24 阅读:

  Python3.6推出更好的词典,改进的AsyncI/O模块等诸多新功能,Python即将达到下一个重要里程碑,即发布3.6版本。Python3.6预计于12月16日发布,该版本推出许多新功能,包括更快、更小巧的词典,改进的asyncio模块以及新的文件系统路径协议等。

Python3.6改进了dict类型,使其内存使用量与Python3.5相比减少了20%~25%。这是通过使用一个类似于PyPy的新表示实现的,并且也优化了其垃圾回收性能。

Python的新版本更容易定制子类创建,这归功于一个新的__init_subclass__classmethod,当我们创建子类时,就在基类上调用它:

classPluginBase:

subclasses=[]

def__init_subclass__(cls,**kwargs):

super().__init_subclass__(**kwargs)

cls.subclasses.append(cls)

classPlugin1(PluginBase):

pass

classPlugin2(PluginBase):

pass

这种新机制更加便于使用,能够替代原先存在的元类机制来定制基类创建。

在标准库方面,有几个改进的或新的模块值得一提:asyncio模块不再是临时的,并且它的API具有稳定性。新的保密模块旨在提供能可靠地生成保密性很强的伪随机值的方法,例如生成那些用于处理账户认证、代币等的伪随机值。此外,支持输入提示规范的输入模块也已公开宣称稳定了。

Python3.6中的其他新功能还包括:

通过格式化的字符串字面量(stringliterals)插入字符串,如下例所示:

>>>name="Fred"

>>>f"Hesaidhisnameis{name}."

'HesaidhisnameisFred.'

>>>width=10

>>>precision=4

>>>value=decimal.Decimal("12.34567")

>>>f"result:{value:{width}.{precision}}"#nestedfields

'result:12.35'

在数字之内使用下划线,这使我们可以像下面的例子这样写:

>>>1_000_000_000_000_000

1000000000000000

>>>0x_FF_FF_FF_FF

4294967295

通过去除了对await和yield不能在同一个函数体中使用的约束,异步生成器已成可能:

asyncdefticker(delay,to):

"""Yieldnumbersfrom0to*to*every*delay*seconds."""

foriinrange(to):

yieldi

awaitasyncio.sleep(delay)

异步列表推导,如下例所示:

result=[iasyncforiinaiter()ifi%2]

您可以在what'snew文档中查阅Python3.6中的新功能和改进功能的完整列表。

  Python培训,就选光环大数据Python培训机构python学习地址:http://hadoop.aura.cn/python/


大数据培训、人工智能培训、Python培训、大数据培训机构、大数据培训班、数据分析培训、大数据可视化培训,就选光环大数据!光环大数据,聘请专业的大数据领域知名讲师,确保教学的整体质量与教学水准。讲师团及时掌握时代潮流技术,将前沿技能融入教学中,确保学生所学知识顺应时代所需。通过深入浅出、通俗易懂的教学方式,指导学生更快的掌握技能知识,成就上万个高薪就业学子。 更多问题咨询,欢迎点击------>>>>在线客服

你可能也喜欢这些

在线客服咨询

领取资料

X
立即免费领取

请准确填写您的信息

点击领取
#第三方统计代码(模版变量) '); })();
'); })();