设为首页 收藏本站
查看: 713|回复: 0

[经验分享] Python核心编程 第四章 Python对象

[复制链接]
发表于 2017-4-21 13:01:21 | 显示全部楼层 |阅读模式
  2011年 02月 28日 星期一 13:41:19 CST

1.Python对象的三个特性:身份,类型和值
除了值之外,其他两个特性都是只读的,且在对象创建的时候就被赋值。如果对象支持更新操作,那么它的值就可以改变,否则它的值也是只读的。

2.通过调用内建函数type()能够得到特定对象的类型信息。所有类型对象的类型都是type(可以通过type(type(42))来得到),它也是所有Python类型的根和所有Python标准类的默认元类。类就是类型,实例是对应类型的对象。

3.Python有一个特殊的类型,被称为Null对象或者NoneType,它只有一个值None,它不支持任何运算也没有任何内建方法。None没有什么有用的属性,它的布尔值总是False。所有标准对象均可用于布尔测试,同类型的对象之间可以比较大小。每个对象天生具有布尔值。空对象、值为零的任何数字或者Null对象None的布尔值都是False。

4.代码对象是编译过的Python源码片段,它是可执行对象。通过调用内建函数compile()可以得到代码对象。代码对象可以被exec命令或内建函数eval()来执行。

5.多维切片语法:sequence[start1:end1, start2:end2]
  省略切片语法:sequence[..., start1:end1]
  步进切片语法:sequence[起始索引:结束索引:步进值]

6.省略对象用于扩展切片语法中,起记号作用。它有一个唯一的名字Ellipsis,它的布尔值始终为True。

7.不同于很多其他语言,多个比较操作可以在同一行进行,求值顺序为从左到右。比较操作是针对对象的值进行的,也就是说比较的是对象的数值而不是对象本身。

8.作为对值比较的补充,Python也支持对象本身的比较。对象可以被赋值到另一个变量(通过引用)。

9.每个对象都天生具有一个计数器,记录它自己的引用次数。这个数目表示有多少个变量指向该对象。可用is和is not操作符来测试两个变量是否指向同一个对象。

10.整型对象和字符串对象是不可变对象,所以Python会很高效地缓存它们。这会造成我们认为Python应该创建新对象时,它却没有创建新对象的假象。

11.标准类型内建函数.
type(object)
type()接受一个对象作为参数,并返回它的类型。它的返回值是一个类型对象。
cmp(obj1, obj2)
cmp()用于比较两个对像obj1和obj2.如果obj1小于obj2则返回一个负整型,如果大于则返回一个正整型,如果等于则返回0.
str()和repr()
str()和repr()或反引号可以方便地以字符串的方式获取对象的内容、类型、数值属性等信息。通常情况下obj == eval(repr(obj))这个等式是成立的,但不是所有情况都成立。str()返回的结果通常无法用于eval()求值,但很适合用于print语句输出。

12.Python不支持方法或函数重载。

13.减少函数调用的次数和查询次数,都可以提高程序的性能。通过使用from-import你可以减少一次查询。

14.Python2.2统一了类型和类,所有的内建类型现在也都是类,在此基础上,原来的所谓内建转换函数像int()、type()、list()等,现在都成了工厂函数。也就是说虽然他们看上去有点像函数,但实质上他们是类。当你调用它们时,实际上是生成了该类型的一个实例。

15.所有的Python容器对象都能够容纳不同类型的对象。由于Python并没有字符类型,所以字符串是一个自我包含的文字类型。

16.访问类型

17.Python能自动管理内存,因此没有必要访问指针。在Python中你可以使用id()函数得到一个对象的身份号,这是最接近指针的地址。因为你不能控制这个值,所以其实没有太大意义。其实在Python中,一切都是地址。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-367447-1-1.html 上篇帖子: [Python]入门教程(四):Python中的模块 下篇帖子: python simple cgi server
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表