机器之心|Python 3.9来了!这十个新特性值得关注( 二 )
2. 新增了 coroutines、shutdown_default_executor() 和 asyncio.to_thread()。 shutdown_default_executor 负责关闭默认 executor , asyncio.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主弹幕与评论 , 进行广告投放分析 。
【机器之心|Python 3.9来了!这十个新特性值得关注】10月14日 , AWS解决方案架构师贺浏璐将带来一场live coding , 演示如何利用AWS云服务构建一个简单的数据管道从爬取、处理到分析视频内容 。
推荐阅读
- 机器人|梅卡曼德机器人获得近亿元人民币B+轮融资
- 书圈|Python 之父 Guido van Rossum 退休失败,正式加入微软搞开源!
- 中年|最终幻想14:关于獭獭机器人,qqbot的一个疑问
- 融资并购,智能机器人|软银拟将机器人公司波士顿动力卖给现代汽车
- 智能机器人,虚拟现实|为汉科技VR(虚拟)焊接+真实焊枪+焊接仿真+VR(虚拟)机器人
- 技术编程|Python之父Guido van Rossum退休失败,正式加入微软
- 中年|Python 之父 Guido van Rossum 退休失败,正式加入微软
- 中年|上游?互动丨“开放两江、智慧之城与区域价值”主题征丨致敬,机器人(外一首)- 张天国
- 智能机器人,黑科技|航天技术育种,机器人当农夫,农业生产尽显“科技范”
- AI人工智能|赋能百科之——华为机器视觉如何开启“创视纪”?
