小编给大家分享一下python中namedtuple对比数据类哪个运行速度更快,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!
在安塞等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都做网站、成都网站建设 网站设计制作按需网站制作,公司网站建设,企业网站建设,品牌网站设计,成都全网营销推广,外贸网站制作,安塞网站建设费用合理。Dataclasses的用法。
Python3.7 提供了一个装饰器dataclass,用以把一个类转化为dataclass。
你需要做的就是把类包裹进装饰器里:
from dataclasses import dataclass @dataclass class A: ...
namedtuple和数据类在性能上也有所不同。数据类基于纯Python实现dict。这使得它们在访问字段时更快。另一方面,namedtuples只是常规的扩展tuple。这意味着它们的实现基于更快的C代码并具有较小的内存占用量。
为了证明这一点,请考虑在Python 3.8.5上进行此实验。
In [6]: import sys In [7]: ColorTuple = namedtuple("Color", "r g b alpha") In [8]: @dataclass ...: class ColorClass: ...: """A regular class that represents a color.""" ...: r: float ...: g: float ...: b: float ...: alpha: float ...: In [9]: color_tup = ColorTuple(r=50, g=205, b=50, alpha=1.0) In [10]: color_cls = ColorClass(r=50, g=205, b=50, alpha=1.0) In [11]: %timeit color_tup.r 36.8 ns ± 0.109 ns per loop (mean ± std. dev. of 7 runs, 10000000 loops each) In [12]: %timeit color_cls.r 38.4 ns ± 0.112 ns per loop (mean ± std. dev. of 7 runs, 10000000 loops each) In [15]: sys.getsizeof(color_tup) Out[15]: 72 In [16]: sys.getsizeof(color_cls) + sys.getsizeof(vars(color_cls)) Out[16]: 152
如上,数据类在中访问字段的速度稍快一些,但是它们比nametuple占用更多的内存空间。
看完了这篇文章,相信你对python中namedtuple对比数据类哪个运行速度更快有了一定的了解,想了解更多相关知识,欢迎关注创新互联行业资讯频道,感谢各位的阅读!
网页名称:python中namedtuple对比数据类哪个运行速度更快-创新互联
新闻来源:https://www.cdcxhl.com/article44/jodee.html
成都网站建设公司_创新互联,为您提供面包屑导航、网站维护、小程序开发、域名注册、关键词优化、网站改版
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联