国产成人AV无码一二三区,少女1到100集,国产精品久久久久精品综合紧,巜公妇之诱感肉欲HD在线播放

文章 > Python基础教程 > python namedtuple数据类哪个运行快

python namedtuple数据类哪个运行快

namedtuple

头像

小妮浅浅

2021-01-12 18:17:272543浏览 · 0收藏 · 0评论

 

我们已经使用namedtuple进行建类的操作,对于它其它的功能上认知还不够全面。鉴于namedtuple在其他模块上提到的不是很多,小编决定陆续完整的为大家带来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占用更多的内存空间。

 

鉴于nametuple和数据类的优点更不相同,即使是数据类的访问速度更快,在我们内存空间不是很宽裕的条件下,小编还是推荐大家使用nametuple

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

成全高清免费完整观看| 《炸裂吧!巨棒》免费阅读漫画 | 女性扒开大腿内侧小肚子痒| 15岁初中生用袜子套几几| 妈妈的秘密| 自己怎么玩隐私位置游戏| 免费观看萝卜大全电视剧韩剧| 麻花星空天美MV免费观看电视剧| 性别饥饿妈妈| 老师趴讲台把腿张开让学生背单词| 《桃色》| 粗大挺进亲女小雅小流| 乱亲H女乱秽XXXX| XX| 军人野外吮她的花蒂沈静舒| 大肉大捧一进一出视频的注意事项| 《医务室的小秘密》动漫第一季免...| 《妻子的肉体偿还》5| 男生困困进女生困困洞视频| YSL水蜜桃86满十八岁会黑吗.. | 狼人加鲁鲁兽天赋澳彩心水| 里番| 《朋友年轻的妈妈》中字头歌词| 9.1短视频| 大雷| 暴躁少女免费看完整版| 免费外国网站浏览器推荐| 小丹让我尝尝你的味道是什么歌啊| 兄妹客厅当父母面爱叫啥| 巜催情精油按摩2高潮| 苍井空《办公室爱欲》| 《后宫狂热》动漫全集完整| 美国大片又大又好看的PPT| 刀郎个人简历| 两个学霸边做题边C我怎么办| 厨房春潮她含她的乳第一章| 全糖可乐| 校草夹震蛋上课爽死H男男动漫| B站暴躁女RAPPER| 暴躁少女10-16岁| 女性扒开大腿内侧小肚子痒