python——OrderedDict 、importlib

来源:互联网 发布:怎样在淘宝买微博小号 编辑:程序博客网 时间:2024/05/19 23:13
OrderedDict 有序字典

OrderedDict是dict的子类,它记住了内容添加的顺序。
比较时,OrderedDict要内容和顺序完全相同才会视为相等
    import collections  
    d = collections.OrderedDict()  
    d[3] = 'A'  
    d[2] = 'B'  
    d[1] = 'C'  
      
    for k, v in d.items():  
       print k, v  

 >>读取json串时如何保持原有顺序

    import json  
    from collections import OrderedDict  
    metadata = json.loads(text, object_pairs_hook=OrderedDict);  


importlib的动态导入模块

 有的时候,两个不同的模块提供了相同的功能,比如 StringIO 和 cStringIO 都提供了StringIO这个功能。

这是因为Python是动态语言,解释执行,因此Python代码运行速度慢。

如果要提高Python代码的运行速度,最简单的方法是把某些关键函数用 C 语言重写,这样就能大大提高执行速度。

同样的功能,StringIO 是纯Python代码编写的,而 cStringIO 部分函数是 C 写的,因此 cStringIO 运行速度更快。

利用ImportError错误,我们经常在Python中动态导入模块:
    
try:
    from cStringIO import StringIO
except ImportError:

    from StringIO import StringIO



==与is的区别
==:比较的是值
is:比较的是对他的引用


#python的引用
#python中的对象:内存中存在的都是对象,包括简单的值,或者复杂的数据类型。
#对象分为可变的和不可变的两种

#可变对象:list,dict,set,自定义的类的实例
#不可变对象:数字,字符串元组


0 0