美文网首页
【collections】具名元组,nametuple

【collections】具名元组,nametuple

作者: 司徒道 | 来源:发表于2017-07-17 16:59 被阅读0次
    collections.namedtuple(typename, field_names[, verbose=False][, rename=False])
    

    参数解释:
    typename: 返回名称为typename的元组子类,元组的格式为name=value
    field_names:格式为字符串序列,可以是[‘x’, ‘y’], ‘x y’, ‘x, y’这三种之一。
    verbose: 如果设为True,则打印类的定义。
    rename:如果设为True, 无效的field(如:python关键字,重复的field)会按照下划线加该field的index重命名,举例:

    ['abc', 'def', 'ghi', 'abc']  =>  ['abc', '_1', 'ghi', '_3']
    
    >>> Point = namedtuple('Point', ['x', 'y'])
    >>> Point.__doc__                   # 类的描述
    'Point(x, y)'
    >>> p = Point(11, y=22)             # 实例化,参数可以为位置参数或keywords形式
    >>> p = Point._make([11, 22])      # 利用_make 实例化, 参数需为可迭代对象
    >>> p[0] + p[1]                     # 索引操作
    33
    >>> x, y = p                        # 拆包
    >>> x, y
    (11, 22)
    >>> p.x + p.y                       # 获取指定name的值
    33
    >>> d = p._asdict()                 # 转字典,collections.OrderedDict
    >>> d['x']
    11
    >>> Point(**d)                      # 字典转nametuple
    Point(x=11, y=22)
    >>> p._replace(x=100)               # 替换指定name field
    Point(x=100, y=22)
    

    相关文章

      网友评论

          本文标题:【collections】具名元组,nametuple

          本文链接:https://www.haomeiwen.com/subject/mvhqkxtx.html