一,容器、类型、对象
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]
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。