一,容器、类型、对象

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

例如:

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

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

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

例如:

In[78]:name="black"In[79]:importsyssyssysconfigsyslogIn[79]:importsysIn[80]:sys.sys.api_versionsys.exitsys.last_tracebacksys.ps2sys.argvsys.exitfuncsys.last_typesys.ps3sys.builtin_module_namessys.flagssys.last_valuesys.py3kwarningsys.byteordersys.float_infosys.long_infosys.setcheckintervalsys.call_tracingsys.float_repr_stylesys.maxintsys.setdlopenflagssys.callstatssys.getcheckintervalsys.maxsizesys.setprofilesys.copyrightsys.getdefaultencodingsys.maxunicodesys.setrecursionlimitsys.displayhooksys.getdlopenflagssys.meta_pathsys.settracesys.dont_write_bytecodesys.getfilesystemencodingsys.modulessys.stderrsys.exc_clearsys.getprofilesys.pathsys.stdinsys.exc_infosys.getrecursionlimitsys.path_hookssys.stdoutsys.exc_typesys.getrefcountsys.path_importer_cachesys.subversionsys.excepthooksys.getsizeofsys.platformsys.versionsys.exec_prefixsys.gettracesys.prefixsys.version_infosys.executablesys.hexversionsys.ps1sys.warnoptionsIn[80]:sys.getsys.getcheckintervalsys.getfilesystemencodingsys.getrefcountsys.getdefaultencodingsys.getprofilesys.getsizeofsys.getdlopenflagssys.getrecursionlimitsys.gettraceIn[80]:sys.getresys.getrecursionlimitsys.getrefcountIn[80]:sys.getrefcount(name)Out[80]:2In[94]:hello="black"In[95]:sys.getrefcount(name)Out[95]:3In[96]:del(hello)//删除对象引用减少计数In[97]:sys.getrefcount(name)Out[97]:2

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

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

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

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

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

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

例如:

In[6]:a=4.0In[7]:b=3In[8]:a/bOut[8]:1.3333333333333333In[9]:a//bOut[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]