码迷,mamicode.com
首页 > 其他好文 > 详细

容器数据类型特性总结18

时间:2015-10-28 17:31:47      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:类型   对象   容器   

一,容器、类型、对象

    1.列表元素和字典自变量可以多行输入,没有任何元素时是不可以的;

        例如:   

In [75]: l1 = [1,
   ....: 2,
   ....: 3,
   ....: ]

In [76]: print l1
[1, 2, 3]

    2.所以对象都有引用计数

        分配新名称会增加计数,删除对象引用则会减少计数;

        例如:   

In [78]: name = "black"

In [79]: import sys
sys        sysconfig  syslog     

In [79]: import sys

In [80]: sys.  
sys.api_version            sys.exit                   sys.last_traceback         sys.ps2
sys.argv                   sys.exitfunc               sys.last_type              sys.ps3
sys.builtin_module_names   sys.flags                  sys.last_value             sys.py3kwarning
sys.byteorder              sys.float_info             sys.long_info              sys.setcheckinterval
sys.call_tracing           sys.float_repr_style       sys.maxint                 sys.setdlopenflags
sys.callstats              sys.getcheckinterval       sys.maxsize                sys.setprofile
sys.copyright              sys.getdefaultencoding     sys.maxunicode             sys.setrecursionlimit
sys.displayhook            sys.getdlopenflags         sys.meta_path              sys.settrace
sys.dont_write_bytecode    sys.getfilesystemencoding  sys.modules                sys.stderr
sys.exc_clear              sys.getprofile             sys.path                   sys.stdin
sys.exc_info               sys.getrecursionlimit      sys.path_hooks             sys.stdout
sys.exc_type               sys.getrefcount            sys.path_importer_cache    sys.subversion
sys.excepthook             sys.getsizeof              sys.platform               sys.version
sys.exec_prefix            sys.gettrace               sys.prefix                 sys.version_info
sys.executable             sys.hexversion             sys.ps1                    sys.warnoptions

In [80]: sys.get
sys.getcheckinterval       sys.getfilesystemencoding  sys.getrefcount            
sys.getdefaultencoding     sys.getprofile             sys.getsizeof              
sys.getdlopenflags         sys.getrecursionlimit      sys.gettrace               

In [80]: sys.getre
sys.getrecursionlimit  sys.getrefcount        

In [80]: sys.getrefcount(name)
Out[80]: 2

In [94]: hello="black"

In [95]: sys.getrefcount(name)
Out[95]: 3

In [96]: del(hello)    //删除对象引用减少计数

In [97]: sys.getrefcount(name)
Out[97]: 2

    3.列表和字典都支持两种类型的复制操作

        浅复制:创建一个新对象,包含的原来的对象引用,指向的是同一个位置;

        深复制:创建一个新对象,递归复制原来包含的所有对象;

            深复制可使用copy模块中的deepcopy()实现。

    4.Python中的所以对象都是“第一类的”

        这意味着使用标识符命名的所有对象都具有相同状态,于是,能够命名所以对象都可以直接当数据进行处理。

        例如:

In [6]: a = 4.0

In [7]: b = 3

In [8]: a / b
Out[8]: 1.3333333333333333

In [9]: a // b
Out[9]: 1.0

    5.所有序列都支持迭代

        序列是索引为非负整数的有序对象的集合;

        序列可以修改,支持原处的插入、替换、删除等操作;

        字串和元组不支持原处修改,但序列和元组能包含任意的Python对象序列(容器的特性);

    6.所有序列都支持的操作

        s[i]

        s[i:j]

        s[i:j:stride]

        len(s)

        max(s)

        min(s)

        sum(s)

        all(s)

        any(s)

        s1 + s2 : 连接

        s1 * N : 重复

        obj in s1 :成员关系判断

        obj not in s

    7.可变序列的操作,操作本身

        s1[index] = value :元素赋值

        s1[i:j] = t :切片赋值

        del s1[index]

        del s1[i:j]

        del s1[i:j:stride]

        

本文出自 “Jessen Liu的博文” 博客,请务必保留此出处http://zkhylt.blog.51cto.com/3638719/1707272

容器数据类型特性总结18

标签:类型   对象   容器   

原文地址:http://zkhylt.blog.51cto.com/3638719/1707272

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!