IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    [原]5.3.7 UserDict对象

    caimouse发表于 2016-01-16 08:32:10
    love 0

    用户自定义字典类UserDict,它是封装了一个字典类dict。主要使用来拷贝一个字典的数据,而不是共享同一份数据。

    class collections.UserDict([initialdata]) 

    本类主要模拟一个字典。在类成员data里拷贝了一份字典数据,如果没有提供初始数据,就保存为空的方式。

    UserDict类实例提供下面的属性:

    data

    用来保存字典的成员变量。

     

    例子:

    #python 3.4

    import collections

     

    d = {'a': 2, 'b': 3}

    ud = collections.UserDict(d)

    print(d, ud)

    del d['a']

    print(d, ud)

    结果输出如下:

    {'a': 2, 'b': 3} {'a': 2, 'b': 3}

    {'b': 3} {'a': 2, 'b': 3}

     

    5.3.8 UserList对象

    用户自定义列表类,主要用来给想继承列表的用户,用户又需要自定义一些列表的行为。

    class collections.UserList([list]) 

    构造一个用户自定义的列表。在这个类里,主要管理成员变量data,在初始化时会把列表数据拷贝到data成员上,如果没有初始化数据,那么成员变量data初始化为空的列表。

    例子:

    #python 3.4

    import collections

     

    l = [1, 5, 6, 8]

    ul = collections.UserList(l)

    newl = l

    print(l, newl, ul)

    del l[2]

    print(l, newl, ul)

    结果输出如下:

    [1, 5, 6, 8] [1, 5, 6, 8] [1, 5, 6, 8]

    [1, 5, 8] [1, 5, 8] [1, 5, 6, 8]

     

    5.3.9 UserString对象

    用户自定义字符串类,可以通过继承这个类来实现字符串的管理功能。

    class collections.UserString([sequence]) 

    构造一个字符串或者一个UNICODE字符串对象。构造时可以从初始化参数里拷贝到成员变量data,sequence支持bytes,str,UserString等类型。

    例子:

    #python 3.4

    import collections

     

    s = 'this for test'

    us = collections.UserString(s)

    print(us)

    print(us.data)

    结果输出如下:

    this for test

    this for test

     

    蔡军生 QQ:9073204  深圳



沪ICP备19023445号-2号
友情链接