zoukankan      html  css  js  c++  java
  • Python namedtuple 命名元组

    命名元组(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)
    

    输出:

    Student(gender='Male', age=24, height=1.92)
    1.68
    24
    ==============
    Female
    18
    1.68
    
  • 相关阅读:
    在Xcode 查看预处理及预编译阶段“宏”Marcos
    复用的基础
    抖音品质建设
    Mach-O 文件格式
    isaclass object_getClass
    组件化接口依赖一致性问题
    objectClasses and metaclasses
    __attribute__详解及应用
    深入静态库 & 动态库--[iOS] 组件二进制化 & 库的各种小知识
    iOS应用的启动流程和优化详解
  • 原文地址:https://www.cnblogs.com/milesma/p/12155841.html
Copyright © 2011-2022 走看看