python 数据结构namedtuple

namedtuple简单解析:

1,namedtuple是一个工厂函数,用于创建一个类,该类主要的作用在于方便进行数据初始化,便于通过“对象实例.属性”进行访问

2,返回值为元组的子类,具有元组的一切特性

代码举例如下:

from collections import namedtuple

# namedtuple一般用于数据处理中,其作用是定义了一个简单的类,使我们能够方便的操作数据
"""
一般情况,我们可以定义一个Person类,其属性包含姓名,性别,年龄,住址,通过定义类,不仅会增加代码行数,还占用更多的内存,而若是某个类只是有
大量的属性,而不需要类方法,则可以通过namedtuple来实现,不仅可以减少代码量,还能节省内存。
"""
Person = namedtuple("Person", ["name", "age", "gender", "address"])
person1 = Person("叶曦", 13, "女", "成都市武侯区潮音大道12号附11")
print(person1)
# 类属性 _fields:包含这个类所有字段名的元组
print(person1._fields)
# 通过列表进行初始化操作
person_list = ["叶曦", 13, "女", "成都市武侯区潮音大道12号附11"]
person2 = Person(*person_list)
# 类方法 _make(iterable):接受一个可迭代对象来生产这个类的实例
person21 = Person._make(person_list)
print(person2)
# 通过元组进行初始化操作
person_tuple = ("叶曦", 13, "女", "成都市武侯区潮音大道12号附11")
person3 = Person(*person_tuple)
print(person3)
# 通过字典进行初始化操作
person_dict = {"name": "叶曦", "age": 12, "gender": "女", "address": "成都市武侯区潮音大道12号附11"}
person4 = Person(**person_dict)
print(person4)
print(person4.age)
# 实例方法 _asdict():把具名元组以 collections.OrdereDict 的形式返回,可以利用它来把元组里的信息友好的展示出来
print(person4._asdict())
"""
输出结果:
Person(name='叶曦', age=13, gender='女', address='成都市武侯区潮音大道12号附11')
('name', 'age', 'gender', 'address')
Person(name='叶曦', age=13, gender='女', address='成都市武侯区潮音大道12号附11')
Person(name='叶曦', age=13, gender='女', address='成都市武侯区潮音大道12号附11')
Person(name='叶曦', age=12, gender='女', address='成都市武侯区潮音大道12号附11')
12
{'name': '叶曦', 'age': 12, 'gender': '女', 'address': '成都市武侯区潮音大道12号附11'}
"""

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值