惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

aimingoo的专栏
aimingoo的专栏
Y
Y Combinator Blog
云风的 BLOG
云风的 BLOG
Microsoft Azure Blog
Microsoft Azure Blog
腾讯CDC
T
The Blog of Author Tim Ferriss
P
Proofpoint News Feed
Hugging Face - Blog
Hugging Face - Blog
博客园_首页
小众软件
小众软件
美团技术团队
Martin Fowler
Martin Fowler
爱范儿
爱范儿
有赞技术团队
有赞技术团队
博客园 - 【当耐特】
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Microsoft Security Blog
Microsoft Security Blog
宝玉的分享
宝玉的分享
J
Java Code Geeks
B
Blog
V
V2EX
Stack Overflow Blog
Stack Overflow Blog
B
Blog RSS Feed
博客园 - Franky

博客园 - ________囧丶殇

django系列 - 安装和新建项目 SQL - 基础 javascript刷新父页面 SQL - 约束 C语言(8) - 反转单向链表 C语言(7) - 数据结构之单向链表 C语言(6) - 各种排序算法的比较 C语言(5) - 选择排序 快速排序 C语言(4) - 插入排序 C语言(3) - 冒泡排序 归并排序 C语言(2) - 从指针开始 C语言(1) - 开始之前 python实践 - 抓取网页中的图片和数据 python实践 - 下载文件 python补充(1) python笔记(十) - 异常和文件处理 python笔记(九) - 类 part2 python笔记(八) - 类 part1 python笔记(七) - and和or
python补充(2) - 内置函数
________囧丶殇 · 2009-04-28 · via 博客园 - ________囧丶殇

1,cmp函数比较两个对象,如果小于返回负整数,大于的话返回正整数,相等返回0.

>>> a,b = 1,-1
>>> cmp(a,b)
1
>>> cmp(b,a)
-1
>>> a=-1
>>> cmp(a,b)
0

 如果比较的是自定义对象,则会调用自定义对象的__cmp__函数。在__cmp__内容可以定义对象的比较方式

2.str(),repr(),''

>>> str([1,2,3])
'[1, 2, 3]'
>>> repr([1,2,3])
'[1, 2, 3]'
>>> '[1,2,3]'
'[1,2,3]'
>>> eval(repr([1,2,3]))
[
123]
>>> eval('[1,2,3]')
[
123]
>>> 

 三种用法的作用基本相同,都是返回对象的字符串表示。

str用来将生成对象的字符串形式,repr和‘'作用可以说是相同的,也是返回对象的字符串表示,但是,这两种用法返回的字符串可以通过eval()函数得到原本的对象。但是str()则不行。

记住,并不是所有返回的字符串都可以通过eval()还原对象。如eval('type(type)')则会抛出异常。

3.浅拷贝和深拷贝

>>> list1 = ['a']
>>> list2 = list1
>>> id(list1)
13437528
>>> id(list2)
13437528
>>> import copy
>>> list3 = copy.deepcopy(list1)
>>> id(list3)
11330304
>>> 

list3就是list1的深拷贝了,从id可以看出来