这篇文章主要介绍了Python namedtuple命名元组实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
创新互联建站长期为上千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为西乌珠穆沁企业提供专业的成都做网站、成都网站建设,西乌珠穆沁网站改版等技术服务。拥有十余年丰富建站经验和众多成功案例,为您定制开发。命名元组(namedtuple)是一种带有属性的元组,它们是组合只读数据的很好的方式。
相比一般的元组,构造命名元组需要先导入namedtuple,因为它不在默认的命名空间里。然后通过名字和属性来定义一个命名元组。这会返回一个像类一样的对象,可以进行多次实例化。
命名元组可以被打包、解包以及做所有可以对普通元组做的事,并且还可以像一个对象一样访问它的某个属性。
命名元组非常适合表示“只有数据”的情况,但并不是对所有情况来说都非常理想。和元组及字符串一样,命名元组也是不可变的,因此一旦为属性设定了值之后就不能更改。
如果需要修改存储的数据,用字典类型会更合适。
from collections import namedtuple # 创建一个namedtuple的学生类,第一个参数是命名元组的名称,第二个参数是命名元组的属性,多个用空格隔开(或者逗号) Student = namedtuple('Student', 'gender age height') # 实例化学生,赋予属性,和上面第二个参数相对应 Miles = Student('Male', 24, 1.92) Mary = Student('Female', 18, 1.68) # 查看属性 print(Miles) # 查看Miles所有属性 print(Mary.height) # 查看Mary的身高 print(Miles[1]) # 通过索引查看Miles的年龄 print('==============') # 遍历元组 for i in Mary: print(i)
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。