当前位置: 首页 > article >正文

Python 3.7 有什么新变化 - 其他语言更改新模块

其他语言更改

await 表达式和包含 async for 子句的推导在格式化字符串文本中的表达式中是非法的,因为 实现。在Python 3.7中,这个限制被取消了。

现在可以将超过 255 个参数传递给函数,并且函数可以 现在有超过 255 个参数。(由Serhiy Storchaka在bpo-12844和bpo-18896中提供。

bytes.fromhex() 和 bytearray.fromhex() 现在忽略所有 ASCII 空格,而不仅仅是空格。(由Robert Xiao在bpo-28927中提供。

str、bytes 和 bytearray 获得了对 新的 Isascii() 方法,可用于 测试字符串或字节是否仅包含 ASCII 字符。 (由INADA Naoki在bpo-32677中提供。

ImportError 现在在失败时显示模块名称和模块路径。(由Matthias Bussonnier在bpo-29546中提供。__file__from … import …

循环导入涉及将子模块绑定到的绝对导入 现在支持名称。 (由Serhiy Storchaka在bpo-30024中提供。

object.format(x, ‘’)现在等效于 而不是 。 (由Serhiy Storchaka在bpo-28974中提供。str(x)format(str(self), ‘’)

为了更好地支持堆栈跟踪、类型的动态创建。TracebackType 现在可以从 Python 代码实例化,并且 回溯上的属性现在是 写。 (由Nathaniel J. Smith在bpo-30579中提供。tb_next

使用 -m 开关时,现在急切地扩展 到完整的起始目录路径,而不是留空 目录(允许从当前工作目录导入 导入发生的时间) (由 Nick Coghlan 在 bpo-33053 中提供。sys.path[0]

新的 -X 选项或 PYTHONPROFILEIMPORTTIME 环境变量可用于显示 每个模块导入的计时。 (由 Victor Stinner 在 bpo-31415 中提供。importtime

新模块

上下文变量
新的 contextvars 模块和一组新的 C API 引入了 支持上下文变量。上下文变量在概念上是 类似于线程局部变量。与 TLS 不同,上下文变量 正确支持异步代码。

异步和十进制模块已更新为 使用 并支持开箱即用的上下文变量。特别是活跃的 十进制上下文现在存储在上下文变量中,这允许 十进制运算,用于在异步代码中使用正确的上下文。

参见
PEP 567 – 上下文变量
PEP由Yury Selivanov编写和实施

数据类
新的 dataclass() 装饰器提供了一种声明数据类的方法。数据类使用类变量描述其属性 附注。它的构造函数和其他魔术方法,如__repr__()、eq()和__hash__()是自动生成的。

例:

@dataclass
class Point:
    x: float
    y: float
    z: float = 0.0

p = Point(1.5, 2.5)
print(p)   # produces "Point(x=1.5, y=2.5, z=0.0)"

参见
PEP 557 – 数据类
PEP由Eric V. Smith编写和实施

importlib.resources
新的importlib.resources模块提供了几个新的API和一个 新的 ABC,用于访问、打开和读取包内的资源。 资源与包中的文件大致相似,但它们不需要 是物理文件系统上的实际文件。模块加载器可以提供返回的函数 一个importlib.abc.ResourceReader实例来支持这一点 新的 API。内置文件路径加载程序和 zip 文件加载程序都支持此功能。get_resource_reader()

由Barry Warsaw和Brett Cannon在bpo-32248中提供。

另请参阅importlib_resources – 早期 Python 版本的 PyPI 向后移植。


http://www.kler.cn/a/7604.html

相关文章:

  • 【Linux:epoll】
  • Flume和kafka的整合
  • 全面解读 USB Key:定义、使用场景、加密技术及 Java 实现
  • SystemVerilog学习——类的继承
  • C++的一些模版
  • 关系型数据库和非关系型数据库详解
  • Python中request与Requests.request与session.reauest,session.reauest实现自动关联
  • 【第一节】- flink源码编译
  • USB土壤参数检测仪丨便捷、全面、耐用
  • fiddler(抓包)的用法和HTTP 协议的基本格式
  • 科特ECTN快捷办理
  • LinkedHashMap源码分析以及LRU的应用
  • 厉害了!Facebook优惠广告让你的广告预算翻倍
  • 华为OD机试-统一限载最小值-2022Q4 A卷-Py/Java/JS
  • 【Linux】信号的捕捉
  • 先移动后旋转,先旋转后移动的区别
  • 【Django网络安全】跨站点请求伪造保护,CSRF如何正确使用
  • day18 二叉树遍历总结
  • ArrayList与LinkList的区别
  • minikube apiserver无法启动问题解决
  • C++并发与多线程笔记八:async、future、packaged_task、promise
  • 刷题记录|Day48 ● 198.打家劫舍 ● 213.打家劫舍II ● 337.打家劫舍III
  • arm系列交叉编译器各版本区别
  • 如何选择理想的三相浪涌保护器?
  • 【Ruby学习笔记】13.Ruby 迭代器及文件的输入与输出
  • 【vSphere | Python】vSphere Automation SDK for Python Ⅲ—— vCenter Datacenter APIs