您现在的位置是:亿华云 > 域名
用 Python 3.8 中的这个位置技巧让你的 API 变得更好
亿华云2025-10-08 23:17:53【域名】2人已围观
简介探索只接受位置参数和其他两个未被充分利用但仍然有用的 Python 特性。这是 Python 3.x 首发特性系列文章的第九篇。Python 3.8 于 2019 年首次发布,两年后,它的许多很酷的新
探索只接受位置参数和其他两个未被充分利用但仍然有用的个得更 Python 特性。
这是位置 Python 3.x 首发特性系列文章的第九篇。Python 3.8 于 2019 年首次发布,技巧两年后,个得更它的位置许多很酷的新特性仍然没有被使用。下面是技巧其中的三个。
importlib.metadata
入口点 在 Python 包中被用来做各种事情。个得更大多数人熟悉的位置是 console_scripts 入口点,不过 Python 中的技巧许多插件系统都使用它们。
在 Python 3.8 之前,个得更从 Python 中读取入口点的位置最好方法是使用 pkg_resources,这是技巧一个有点笨重的模块,它是个得更 setuptools 的一部分。亿华云计算
新的位置 importlib.metadata 是一个内置模块,它允许访问同样的技巧东西:
from importlib import metadata as importlib_metadatadistribution = importlib_metadata.distribution("numpy")distribution.entry_points [EntryPoint(name=f2py, value=numpy.f2py.f2py2e:main, group=console_scripts), EntryPoint(name=f2py3, value=numpy.f2py.f2py2e:main, group=console_scripts), EntryPoint(name=f2py3.9, value=numpy.f2py.f2py2e:main, group=console_scripts)]入口点并不是 importlib.metadata 允许访问的唯一东西。可以调试、报告,或者(在极端情况下)触发兼容模式,你也可以在运行时检查依赖的版本!
f"{ distribution.metadata[name]}=={ distribution.version}"`[/code] [code]` numpy==1.20.1只接受位置参数
强制关键字的参数在传达 API 作者的意图方面取得巨大成功之后,另一个空白被填补了:只接受位置参数。
特别是对于那些允许使用任意关键字的函数(例如,生成数据结构),这意味着对允许的参数名称的限制更少:
def some_func(prefix, /, **kwargs): print(prefix, kwargs) some_func("a_prefix", prefix="prefix keyword value") a_prefix { prefix: prefix keyword value}`注意,令人困惑的是,变量 prefix 的值与 kwargs["prefix"] 的免费信息发布网值不同。就像在很多地方一样,要注意小心使用这个功能。
自我调试表达式
50 多年来,print() 语句(及其在其他语言中的对应语句)一直是快速调试输出的最爱。
但是我们在打印语句方面取得了很大的进展,比如:
special_number = 5print("special_number = %s" % special_number) special_number = 5然而,自我记录的 f-strings 使它更容易明确:
print(f"{ special_number=}") special_number=5`在 f-string 插值部分的末尾添加一个 =,可以保留字面部分,同时添加数值。
当更复杂的表达式在该部分内时,这就更有用了:
values = { }print(f"{ values.get(something, default)=}") values.get(something, default)=default欢迎来到 2019 年
Python 3.8 大约在两年前发布,它的一些新特性非常酷,而且没有得到充分利用。如果你还没使用,那么将他们添加到你的工具箱中。
很赞哦!(167)
相关文章
- 并非一个好米任何人都会给你一个好的价格。那你该如何用以有的好米卖出最理想的价格呢?
- 自己动手撸一个分布式IM(即时通讯) 系统
- 五大自动化测试的Python框架
- 90%的人说Python程序慢,5大神招让你的代码像赛车一样跑起来
- 4、待所有域名查询结束后可在右侧点击导出结果,即可以excel的文件方式将查询到的结果导出。
- Springboot,SSM框架比较,区别
- 几款流行的前端UI框架
- Python入门只需20分钟,从安装到数据抓取、存储原来这么简单
- 这个不用多说,不同平台的注册价格不同,且不同平台对域名释放交易的把控与曝光不同,当然价格相对便宜且平台渠道广操作便利的平台最好。
- 对AR应用开发项目有帮助的12款优秀的增强现实类SDK