5.3.7 UserDict对象

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

时间: 2024-10-18 05:12:36

5.3.7 UserDict对象的相关文章

Python高级数据类型模块collections

collections模块提供更加高级的容器数据类型,替代Python的内置dict,list, set,和tuple  Counter对象 提供计数器,支持方便和快速的计数.返回的是一个以元素为键,出现次数为值的字典 cnt = Counter() #创建一个Counter对象lst =['red', 'blue', 'red', 'green', 'blue', 'blue']for word in lst: cnt[word] += 1print cnt # 输出:Counter({'bl

通过jQuery Ajax使用FormData对象上传文件

转自:http://www.cnblogs.com/labnizejuly/p/5588444.html FormData对象,是可以使用一系列的键值对来模拟一个完整的表单,然后使用XMLHttpRequest发送这个"表单". <form id="uploadForm" enctype="multipart/form-data"> <input id="file" type="file"

对象序列化和反序列--Hibernate的查询和新增极其相似

Hibernate几个关键字持久化,ORM(关系对象映射)(数据库中关系称作是一张表) 应用在项目中,刘一从写的查询代码,每次都挂掉,想要弄出测试数据,自己想着把查询出来的复杂数据弄到文件里自己要是去造那些复杂数据很麻烦public class Object1 { public static void main(String args[]){ HashMap<String, Object> obj=new HashMap<String,Object>(); obj.put(&quo

C#中XML与对象之间的序列化、反序列化

using System; using System.IO; using System.Text; using System.Xml; using System.Xml.Serialization; namespace Xml.Utility { public static class XmlUtil { /// <summary> /// 将一个对象序列化为XML字符串 /// </summary> /// <param name="o">要序列化

菜鸟学python之对象类型及运算

Python 中的变量不需要声明.每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建. 在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型. 等号(=)用来给变量赋值. 1 变量赋值 1.1 单个变量赋值 >>> name="python" >>> print(name) python 1.2 多个变量赋值 >>> name=names="python&

java 类对象使用

在学习反射机制时,总结一下获得类对象方式: 第一种方式:通过类本身来获得对象 Class<?> classname = this.getClass(); 或者this.class 第二种方式:通过子类的实例获取父类对象 ClassName cn = new ClassName(); UserClass = cn.getClass(); Class<?> SubUserClass = UserClass.getSuperclass(); 第三种方式:通过类名加.class获取对象 C

dbutils封装对象,单列,一行一列(用)

基本用法:查找并封装对象与对象集合 public User findUserByNamePassword(String name,String password){ QueryRunner runner = new QueryRunner(DataSourceUtils.getDataSource()); String sql = "select * from user where name='"+name+"' and password = '"+password

Class类 获取Class对象

阅读API的Class类得知,Class 没有公共构造方法.Class 对象是在加载类时由 Java 虚拟机以及通过调用类加载器中的 defineClass 方法自动构造的 获取Class对象的三种方式(实例采用Person类) 方式1:通过Object类的getObject()方法 Person p = new Person(); Class c = p.getClass(); 方式2: 通过 类名.class 获取到字节码文件对象(任意数据类型都具备一个class静态属性,看上去要比第一种方

Linux共享对象之编译参数fPIC(转)

最近在看Linux编程的基础知识,打算对一些比较有趣的知识做一些汇总备忘,本文围绕fPIC展开,学习参考见文末. 在Linux系统中,动态链接文件称为动态共享对象(DSO,Dynamic Shared Objects),简称共享对象,一般是以.so为扩展名的文件.在Windows系统中,则称为动态链接库(Dynamic Linking Library),很多以.dll为扩展名.这里只备忘Linux的共享对象. 在实现一共享对象时,最一般的编译链接命令行为: g++ -fPIC -shared t