用户自定义字典类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 深圳