python中的 NamedTuple与namedtuple

本文探讨了Python中的两种命名元组类型:collections.namedtuple和typing.NamedTuple。namedtuple提供了一种通过属性名访问元组元素的方式,简化了代码阅读。typing.NamedTuple在功能上类似,但增加了类型检查,使得代码更具静态类型语言的特性。同时,文中提到,虽然两者都是tuple的子类,但NamedTuple实例不是NamedTuple的子类。这两种工具在返回多个值时能提高代码可读性和维护性。
摘要由CSDN通过智能技术生成

首先要知道的是python3中有typing模块含有类NamedTuple,collections模块含有函数namedtuple(该函数返回一个tuple的子类),这是官方文档传送门

collections.namedtuple

namedtuple将创建一个和tuple类似的object,其中的元素可通过属性名访问,也可通过像tuple一样的下标来访问。其好处是通过名称访问数据能够让我们的代码更加的直观、规范,

from collections import namedtuple
 
# 定义一个namedtuple类型User,并包含name,sex和age属性。
User = namedtuple('User', ['name', 'sex', 'age'])
 
# 创建一个User对象
user = User(name='kongxx', sex='male', age=21)
 
# 也可以通过一个list来创建一个User对象,这里注意需要使用"_make"方法
user = User._make(['kongxx', 'male', 21])
 
print(user)
# User(name='user', sex='male', age=21)
 
# 获取用户的属性
print(user.name)
print(user.sex)
print(user
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值