网站流量10g专业的高端网站制作公司
网站流量10g,专业的高端网站制作公司,网站名称怎么起好听,网站建设机构选自towardsdatascience作者#xff1a;Farhad Malik机器之心编译编辑#xff1a;陈萍近日#xff0c;Python 3.9 发布#xff0c;并开发了一些新特性#xff0c;包括字典合并与更新、新的解析器、新的字符串函数等。Python 3.9 已于 10 月 5 日发布#xff0c;新版本的特…选自towardsdatascience作者Farhad Malik机器之心编译编辑陈萍近日Python 3.9 发布并开发了一些新特性包括字典合并与更新、新的解析器、新的字符串函数等。Python 3.9 已于 10 月 5 日发布新版本的特性你 get 到了吗对于 Python 程序员来说这又是一个令人兴奋的时刻。相比于之前的版本Python 3.9 有哪些值得讨论的功能呢简而言之从字典更新 / 合并到添加新的字符串方法再到 zoneinfo 库的引入Python 3.9 添加了许多新特性。此外该版本还引入了一种稳定、高性能的新型解析器。标准库更新了许多新特性并添加了新模块 zoneinfo 和 graphlib。此外该版本也对许多模块进行了改进如 ast、asyncio、concurrent.futures、multiprocessing、xml 等。图源https://twitter.com/PrasoonPratham/status/1313392420038483968现在让我们一起探索 Python 3.9 的新特性。Python 3.910 个有趣的新特性1. 字典更新和合并字典添加两个新的运算符「|」和「|」。「|」运算符用于合并字典「|」运算符用于更新字典。字典合并字典更新2. 基于 PEG 的高性能解析器Python 3.9 提出用高性能和稳定的基于 PEG 的解析器取代当前基于 LL(1) 的 Python 解析器。当前的 CPython 解析器基于 LL(1)LL(1) 解析器是一个自顶向下的解析器它从左到右解析输入。Python 3.9 提议将 LL(1) 替换为新的基于 PEG 的解析器这意味着它将解除当前 LL(1) 语法对 Python 的限制。此外当前的解析器修补了许多将要删除的 hack。因此从长远来看这会降低维护成本。3. 新型字符串函数删除前缀和后缀Python 3.9 将两个新函数添加到 str 对象第一个函数用于删除前缀str.removeprefix(prefix)第二个函数用于删除后缀str.removesuffix(suffix)4. 对内置泛型类型提供类型提示Python 3.9 通过删除并行类型层次结构使注释程序变得更加简单。Python 3.9 支持 typing 模块所有标准集合中的泛型语法。我们可以将 list 或 dict 直接作为列表和字典的类型注释而不必依赖 typing.List 或者 typing.Dict。因此代码现在看起来更加简洁而且更容易理解和解释。5. DateTime 支持 IANA 时区zoneinfo 模块被创建出来支持 IANA 时区数据库。对 IANA 时区数据库的支持已经添加到标准库中。IANA 时区通常称为 tz 或 zone info。存在许多具备不同搜索路径的 IANA 时区用于为 date-time 对象指定 IANA 时区。例如我们可以将对 datetime 对象设置搜索路径「Continent/City」来设置 tzinfo。如果传入一个无效的密钥则会引发 zoneinfo.ZoneInfoNotFoundError 异常。6. concurrent.futures 优化concurrent.futures.Executor.shutdown() 中添加了一个新参数 cancel_futures。此参数可以取消尚未执行的并发任务。在 Python 3.9 之前主进程只有在所有并发任务完成后才能关闭 executor 对象。新参数 cancel_futures 已被添加到 ThreadPoolExecutor 以及 ProcessPoolExecutor。它的工作方式是当参数的值为 True 时在调用 shutdown() 函数时取消所有待处理的任务。7. 异步编程和多进程优化Python 3.9 对异步编程(asyncio)和多进程库进行了优化。2. 新增了 coroutines、shutdown_default_executor() 和 asyncio.to_thread() 。shutdown_default_executor 负责关闭默认 executorasyncio.to_thread() 主要用于在一条单独的线程中运行 IO 密集型函数以避免事件循环。关于多进程库的改进Python 3.9 向 multiprocessing.SimpleQueue 类添加了新方法 close()。此方法可以显式地关闭队列。这将确保队列关闭并且停留时间不会比预期长。值得注意的是一旦关闭队列就不能调用 get()、put() 和 empty() 方法。8. 统一的软件包导入错误Python3.9 之前的版本在导入 Python 库时存在的主要问题是当相对导入超出其顶级包时Python 中的导入行为不一致。builtins.__import__() 引发 ValueError而 importlib.__import__() 引发 ImportError。Python3.9 版本进行了修复它将统一引发 ImportError。9. 生成随机字节Python 3.9 版本中添加了新的函数 random.Random.randbytes()。该函数可用于生成随机字节。Python 支持生成随机数但如果需要生成随机字节呢在 Python3.9 版本之前开发人员必须想方设法生成随机字节。尽管他们可以使用 os.getrandom()、os.urandom() 或者 secrets.token_bytes() 来生成随机字节但这些方法无法生成伪随机模式。为了确保随机数的产生符合预期行为并且过程可复现开发人员通常将种子(seed)与 random.Random 模块一起使用。因此Python 3.9 添加了 random.Random.randbytes() 方法以可控的方式生成随机字节。10. 修复字符串替换函数在 Python 3.9 版本之前对于所有非零的 n.replace(,s,n) 返回空字符串而不是 s。这个错误使用户困惑并导致应用程序的不一致行为。Python 3.9 修复了该问题不管 n 是否为 0其结果都与 .replace(, s) 一致。如果大家想深入了解更多细节请查阅官方文档https://docs.python.org/zh-cn/3.9/whatsnew/3.9.html爬取UP主弹幕与评论进行广告投放分析。10月14日AWS解决方案架构师贺浏璐将带来一场live coding演示如何利用AWS云服务构建一个简单的数据管道从爬取、处理到分析视频内容。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/90232.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!