还在用 Python 2.x?Python 3.7.0 正式发布!
bigegpt 2024-10-12 06:00 11 浏览
6 月 27 日,期待已久的 Python 3.7.0 正式发布,与之同行的还有 3.6.6 版本的更新。此次,最新版的 Python 3.7.0 带来了诸多的新功能和优化,接下来,让我们一睹为快。
▌Python 3.7.0 主要更新
新的语法特性:
- PEP 563:推迟评估评类型注释
class C: @classmethod def from_string(cls, source: str) -> C: ... def validate_b(self, obj: B) -> bool: ... class B: ...
向后不兼容语法更改:
- async 和 await 保留关键字
新的库模块:
- contextvars:PEP 567 - 上下文变量
- dataclasses:PEP 557 - 数据类
- importlib.resources
新的内置功能:
- PEP 553:新的 breakpoint() 函数
Python 数据模型改进:
- PEP 562:访问模块属性,可定制;
- PEP 560:类模块和泛型类型的核心支持;
- dict 对象的插入顺序保存特性已被声明为 Python 官方的语言规范中。
标准库重要改进:
- asyncio 获得新的功能,可用性和性能提高
- time 模块获得对纳秒级分辨率功能的支持
CPython 实现改进:
- 避免使用 ASCII 作为默认文本编码:
- PEP 538:将传统的 C 语言环境强制转换为基于UTF-8的语言环境
- PEP 540:强制 UTF-8 模式
- PEP 552:deterministic .pycs
- 新的 development runtime mode
- PEP 565:改进 DeprecationWarning 处理
C API 改进:
- PEP 539:用于线程本地存储(Thread Local Storage,简称 TLS)的新 C API
文档改进:
- PEP 545:Python 文档翻译
- 新增文档翻译:日语、法语和韩语
▌对于 Windows 用户的影响
- AMD64 的二进制文件适用于实现 Intel 64 架构的处理器上工作。(也称为“x64”架构,以前称为“EM64T”和“x86-64”)。
- 现在有 Windows 平台的“基于Web”的安装程序; 安装程序将在安装时下载所需的软件组件。
- 有包含Windows构建的可再发行的zip文件,可以很容易地将Python作为另一个软件包的一部分进行重新分发。
▌对于 macOS 用户的影响
- Python 3.7.0 ,提供了两个二进制安装选项供下载。默认版本仅支持 64 位,适用于 macOS 10.9(Mavericks)和更高版本的系统。同时还继续提供适用于 macOS 10.6(Snow Leopard)的 64 位/ 32 位版本。 现在,这两种变体都配备了电池供电的 Tcl / Tk 8.6 版本,适用于 IDLE 和其他基于 tkinter的 GUI应用程序;第三方 和Tcl / Tk 的系统版本不再使用。 除非你正在构建需要在较早的 macOS 系统上工作的 Python 应用程序,那么可以考虑使用新的 macOS 10.9 64 位安装程序。
- 这两个 python.org 安装程序变体都包含 OpenSSL 1.1.0 的副本。 请仔细阅读安装期间显示的重要信息,以获取有关 SSL / TLS 证书验证和 Install Certificates.command 的信息。
▌相关链接
各项完整的更改详情请查阅:
- https://docs.python.org/3.7/whatsnew/3.7.html
Python 3.7.0 下载地址:
- https://www.python.org/downloads/release/python-370/
Python 3.6.6 下载地址:
- https://www.python.org/downloads/release/python-366/
征稿啦!
CSDN 公众号秉持着「与千万技术人共成长」理念,不仅以「极客头条」、「畅言」栏目在第一时间以技术人的独特视角描述技术人关心的行业焦点事件,更有「技术头条」专栏,深度解读行业内的热门技术与场景应用,让所有的开发者紧跟技术潮流,保持警醒的技术嗅觉,对行业趋势、技术有更为全面的认知。
如果你有优质的文章,或是行业热点事件、技术趋势的真知灼见,或是深度的应用实践、场景方案等的新见解,欢迎联系 CSDN 投稿,联系方式:微信(guorui_1118,请备注投稿+姓名+公司职位),邮箱(guorui@csdn.net)。
相关推荐
- Go语言泛型-泛型约束与实践(go1.7泛型)
-
来源:械说在Go语言中,Go泛型-泛型约束与实践部分主要探讨如何定义和使用泛型约束(Constraints),以及如何在实际开发中利用泛型进行更灵活的编程。以下是详细内容:一、什么是泛型约束?**泛型...
- golang总结(golang实战教程)
-
基础部分Go语言有哪些优势?1简单易学:语法简洁,减少了代码的冗余。高效并发:内置强大的goroutine和channel,使并发编程更加高效且易于管理。内存管理:拥有自动垃圾回收机制,减少内...
- Go 官宣:新版 Protobuf API(go pro版本)
-
原文作者:JoeTsai,DamienNeil和HerbieOng原文链接:https://blog.golang.org/a-new-go-api-for-protocol-buffer...
- Golang开发的一些注意事项(一)(golang入门项目)
-
1.channel关闭后读的问题当channel关闭之后再去读取它,虽然不会引发panic,但会直接得到零值,而且ok的值为false。packagemainimport"...
- golang 托盘菜单应用及打开系统默认浏览器
-
之前看到一个应用,用go语言编写,说是某某程序的windows图形化客户端,体验一下发现只是一个托盘,然后托盘菜单的控制面板功能直接打开本地浏览器访问程序启动的webserver网页完成gui相关功...
- golang标准库每日一库之 io/ioutil
-
一、核心函数概览函数作用描述替代方案(Go1.16+)ioutil.ReadFile(filename)一次性读取整个文件内容(返回[]byte)os.ReadFileioutil.WriteFi...
- 文件类型更改器——GoLang 中的 CLI 工具
-
我是如何为一项琐碎的工作任务创建一个简单的工具的,你也可以上周我开始玩GoLang,它是一种由Google制作的类C编译语言,非常轻量和快速,事实上它经常在Techempower的基准测...
- Go (Golang) 中的 Channels 简介(golang channel长度和容量)
-
这篇文章重点介绍Channels(通道)在Go中的工作方式,以及如何在代码中使用它们。在Go中,Channels是一种编程结构,它允许我们在代码的不同部分之间移动数据,通常来自不同的goro...
- Golang引入泛型:Go将Interface「」替换为“Any”
-
现在Go将拥有泛型:Go将Interface{}替换为“Any”,这是一个类型别名:typeany=interface{}这会引入了泛型作好准备,实际上,带有泛型的Go1.18Beta...
- 一文带你看懂Golang最新特性(golang2.0特性)
-
作者:腾讯PCG代码委员会经过十余年的迭代,Go语言逐渐成为云计算时代主流的编程语言。下到云计算基础设施,上到微服务,越来越多的流行产品使用Go语言编写。可见其影响力已经非常强大。一、Go语言发展历史...
- Go 每日一库之 java 转 go 遇到 Apollo?让 agollo 来平滑迁移
-
以下文章来源于GoOfficialBlog,作者GoOfficialBlogIntroductionagollo是Apollo的Golang客户端Apollo(阿波罗)是携程框架部门研...
- Golang使用grpc详解(golang gcc)
-
gRPC是Google开源的一种高性能、跨语言的远程过程调用(RPC)框架,它使用ProtocolBuffers作为序列化工具,支持多种编程语言,如C++,Java,Python,Go等。gR...
- Etcd服务注册与发现封装实现--golang
-
服务注册register.gopackageregisterimport("fmt""time"etcd3"github.com/cor...
- Golang:将日志以Json格式输出到Kafka
-
在上一篇文章中我实现了一个支持Debug、Info、Error等多个级别的日志库,并将日志写到了磁盘文件中,代码比较简单,适合练手。有兴趣的可以通过这个链接前往:https://github.com/...
- 如何从 PHP 过渡到 Golang?(php转golang)
-
我是PHP开发者,转Go两个月了吧,记录一下使用Golang怎么一步步开发新项目。本着有坑填坑,有错改错的宗旨,从零开始,开始学习。因为我司没有专门的Golang大牛,所以我也只能一步步自己去...
- 一周热门
- 最近发表
- 标签列表
-
- mybatiscollection (79)
- mqtt服务器 (88)
- keyerror (78)
- c#map (65)
- xftp6 (83)
- bt搜索 (75)
- c#var (76)
- xcode-select (66)
- mysql授权 (74)
- 下载测试 (70)
- linuxlink (65)
- pythonwget (67)
- androidinclude (65)
- libcrypto.so (74)
- linux安装minio (74)
- ubuntuunzip (67)
- vscode使用技巧 (83)
- secure-file-priv (67)
- vue阻止冒泡 (67)
- jquery跨域 (68)
- php写入文件 (73)
- kafkatools (66)
- mysql导出数据库 (66)
- jquery鼠标移入移出 (71)
- 取小数点后两位的函数 (73)