这篇文章主要介绍python3.6和3.5的区别是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
新的语法特性:
PEP 498:格式化字符串字面量
PEP 515:数字字面量中的下划线
PEP 526:变量注解中的语法
PEP 525:异步生成器
PEP 520:异步解析式
python学习网,大量的免费python视频教程,欢迎在线学习!
新的库模块:
Secrets:PEP 506 - 在标准库中添加了Secrets模块
CPython实现的改进:
重新实现了字典(dict)类型,以便能像PyPy的字典类型一样使用更紧凑的表达方式。与Python 3.5相比,这使字典的内存用量减少了20%到25%。
用新协定优化了类的自定义建立。
类属性定义顺序(class attribute definition order)现在被保留了**kwargs内的元素顺序现在对应于将关键字(保留字)参数传递给函数的顺序。
新增了对DTrace和SystemTap probing的支持。
新PYTHONMALLOC环境变量现在可用于调试解释器内存分配与访问错误。
标准库的重大改进:
为asyncio模块开发了新功能、显著的可用性、性能优化,以及大量的错误修复。 从Python 3.6开始,asyncio模块不再是临时的了,其API也进入了稳定状态。
实现了用于支持类路径对象(path-like objects)的新文件系统路径协议。 所有在路径(path)上使用的标准库函数都已更新,以便适应于新协议。
datetime模块已获得对本地时间消歧(Local Time Disambiguation)的支持。
针对typing模块的一些改进,使其不再是临时模块。
tracemalloc模块已重大改进,现用于为ResourceWarning提供更好的输出,并为内存分配错误提供更好的诊断。
安全相关的改进:
新secrets模块被用于简化那些适用于管理密文的密码学安全伪随机数生成器(cryptographically strong pseudo-random numbers)的生成过程,如认证、token等。
在Linux上,现将os.urandom()改成了阻塞模式,直到系统的urandom的熵池(entropy pool)的初始化具有更高的安全性。 解释请参见PEP 524。
hashlib和ssl模块现已支持OpenSSL 1.1.0。
改进了ssl模块的默认设置和特性集。
新增了hashlib模块对BLAKE2、SHA-3、SHAKE哈希算法以及scrypt()密钥导出函数的支持。
Windows上的改进:
PEP 528与PEP 529,Windows文件系统和控制台的编码已更改为UTF-8。
当用户没有指定版本(通过命令行参数或配置文件)时,py.exe启动器以交互方式使用时,不再以Python 2优先于Python 3。处理事情行的方式保持不变,此处的“巨蟒”依旧指Python 2 .
python.exe和pythonw。exe已标记为长路径敏感(长路径意识到),这意味着260字符路径限制可能不再适用。有关详细信息,请参阅删除MAX_PATH限制。
可以添加。_pth文件以强制隔离模式(隔离模式)并完全指定所有搜索路径,以避免注册表查找和环境查找只
一个python36.zip文件现可用作一个地标(里程碑)以臆指PYTHONHOME。
<强>新特性:强>
<强> PEP 498:格式化字符串强>
<强> PEP 498引入了一种新的字符串:_f-strings_,或者格式化字符串。强>
格式化字符串带& # 39;f # 39;前缀,类似于str.format()接受的格式字符串。它们包含了由花括号括起来的替换字段。替换字段是表达式,它们会在运行时计算,然后使用格式()协议进行格式化:
在祝辞祝辞,name =,“Fred" 在祝辞祝辞,f"他said his name is {名称}!” & # 39;他said his  name is 弗雷德·强生# 39; 在祝辞祝辞,width =10 在祝辞祝辞precision =, 4 在祝辞祝辞,value =, decimal.Decimal (“12.34567”) 祝辞祝辞祝辞,f"结果:,{值:{宽度},{精密}},,#,nested 字段 & # 39;结果:12.35 & # 39;
<强> PEP 498 -字符串插值。强>
<强> PEP 526:变量注释语法强>
PEP 484引入了函数参数的类型注释的标准,又名类型提示。这个PEP添加了用来注释变量(包括类变量和实例变量)类型的语法:
质数:,列表(int),=, [] 队长:str #,注意:,no initial 价值! class 飞船: 统计:Dict (str, int),=, {}
正如函数注释,Python解释器不附加任何特殊意义到变量注释上,只是将它们存储在一个类或者模块的__annotations__属性中。
与静态类型语言中的变量声明相比,注释语法的目的在于提供一种简单的方式,通过抽象语法树和__annotations__属性,来为第三方工具和库指定结构化类型元数据。