简单讲解Python编程中namedtuple类的用法
2019/7/13 23:29:51
本文主要是介绍简单讲解Python编程中namedtuple类的用法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Python的Collections模块提供了不少好用的数据容器类型,其中一个精品当属namedtuple。
namedtuple能够用来创建类似于元祖的数据类型,除了能够用索引来访问数据,能够迭代,更能够方便的通过属性名来访问数据。
在python中,传统的tuple类似于数组,只能通过下标来访问各个元素,我们还需要注释每个下标代表什么数据。通过使用namedtuple,每个元素有了自己的名字,类似于C语言中的struct,这样数据的意义就可以一目了然了。当然,声明namedtuple是非常简单方便的。
代码示例如下:
from collections import namedtuple Friend=namedtuple("Friend",['name','age','email']) f1=Friend('xiaowang',33,'xiaowang@163.com') print(f1) print(f1.age) print(f1.email) f2=Friend(name='xiaozhang',email='xiaozhang@sina.com',age=30) print(f2) name,age,email=f2 print(name,age,email)
类似于tuple,它的属性也是不可变的:
>>> big_yellow.age += 1 Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: can't set attribute
能够方便的转换成OrderedDict:
>>> big_yellow._asdict() OrderedDict([('name', 'big_yellow'), ('age', 3), ('type', 'dog')])
方法返回多个值得时候,其实更好的是返回namedtuple的结果,这样程序的逻辑会更加的清晰和好维护:
>>> from collections import namedtuple >>> def get_name(): ... name = namedtuple("name", ["first", "middle", "last"]) ... return name("John", "You know nothing", "Snow") ... >>> name = get_name() >>> print name.first, name.middle, name.last John You know nothing Snow
相比tuple,dictionary,namedtuple略微有点综合体的意味:直观、使用方便,墙裂建议大家在合适的时候多用用namedtuple。
这篇关于简单讲解Python编程中namedtuple类的用法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-24Python编程基础详解
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程
- 2024-11-17在FastAPI项目中添加一个生产级别的数据库——本地环境搭建指南
- 2024-11-16`PyMuPDF4LLM`:提取PDF数据的神器
- 2024-11-16四种数据科学Web界面框架快速对比:Rio、Reflex、Streamlit和Plotly Dash
- 2024-11-14获取参数学习:Python编程入门教程