第9章 符合Python风格的对象】的更多相关文章

#<流畅的Python>读书笔记 # 第9章 符合Python风格的对象 # 本章包含以下话题: # 支持用于生成对象其他表示形式的内置函数(如repr().bytes(),等等) # 使用一个类方法实现备选构造方法 # 扩展内置的 format() 函数和 str.format() 方法使用的格式微语言 # 实现只读属性 # 把对象变为可散列的,以便在集合中及作为 dict 的键使用 # 利用 __slots__ 节省内存 # 我们将开发一个简单的二维欧几里得向量类型,在这个过程中涵盖上述全…
对象表示形式 每门面向对象的语言至少都有一种获取对象的字符串表示形式的标准方式.Python提供了两种方式 repr()便于开发者理解的方式返回对象的字符串表示形式 str()便于用户理解的方式返回对象的字符串表示形式 要实现__repr__,__str__特殊方法为repr(),str()提供支持 classmethod和staticmethod classmethod通常用来定义操作类,而不是操作实例的方法.改变了调用方法的方式,因此,类方法的第一个参数是类本身,而不是实例,classmet…
首先来看下对象的表现形式: class People():     def __init__(self,name,age):         self.name=name         self.age=age if __name__== "__main__":     p=People('zhf','30')     print p E:\python2.7.11\python.exe E:/py_prj/fluent_python/chapter9.py <__main__…
对象表示形式 每门面向对象的语言至少都有一种获取对象的字符串表示形式的标准方式.Python 提供了两种方式. repr() 以便于开发者理解的方式返回对象的字符串表示形式.str() 以便于用户理解的方式返回对象的字符串表示形式.正如你所知,我们要实现 __repr__ 和 __str__ 特殊方法,为 repr()和 str() 提供支持. 为了给对象提供其他的表示形式,还会用到另外两个特殊方法:__bytes__ 和 __format__.__bytes__ 方法与 __str__ 方法类…
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 25.0px Helvetica } 对象表示形式 每门面向对象的语言至少都有一种获取对象的字符串表示形式的标准方式.Python 提供了两种方式 p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 15.0px Helvetica } repr() 以便于开发者理解的方式返回对象字符串表示形式 p.p1 { margin: 0.0px 0.0px 0.0px 0.…
array和bytes的转换 - 每个array必须有一个type_code,以此为依据解析底层字节序列 - array有一个frombytes方法,可以把字节序列按type_code转换成Array - bytes构造函数接受一个可迭代对象作为参数,它依次遍历可迭代对象,将每个元素按其本身的数据类型拆成字节 from array import array def create_bytes(): type_code = 'f' # ord函数返回字符的编码 print('type_code:',…
第四部分第9章,Python风格的对象 这一章接第1章,说明常见的特殊方法实现. 本章包括以下话题: 支持用于生成对象其它表示形式的内置函数(如repr().bytes(),等等) 使用一个类方法实现备选构造方法 扩展内置的format()和str.format()使用的格式微语言 实现只读属性 把对象变为可散列的,以便在集合中和作为dict的键使用 利用__slots__节省内存 如何以及何时使用@classmethod和@staticmethod装饰器 Python的私有属性和受保护属性的用…
9.1对象表示形式 __repr__和__str__这两个方法都是用于显示的,__str__是面向用户的,而__repr__面向程序员. 我们打印下面的A是默认输出这个对象的类型,我们对B进行了修改__repr__并给返回值,然后我们打印B发现 B对象输出了字符串. class A(): def __init__(self,value="this is test"): self.name=value class B(A): def __repr__(self): return &quo…
一. 引言 在<第8.13节 Python类中内置方法__repr__详解>老猿介绍了在命令行方式直接输入"对象"就可以调用repr内置函数或__repr__方法查看对象属性数据,实际上该过程除了调用repr内置函数或__repr__方法外,还调用了一个内置方法__getattribute__,正是通过该方法Python获取了对象的信息进行输出. 二. __getattribute__语法释义 __getattribute__方法是一个实例方法,object基类中定义了该方…
本章的内容主要是介绍了Python的核心对象类型,后续的5.6.7.8.9章针对这些核心类型分别展开详细的说明 本章我认为重要的有几点 1.作者有谈到Python的知识结构,这个我感觉是一个大框架,可以方便理解Python各个细节的知识 2.Python的核心对象类型有哪些?有哪些特性? 以下就分别展开来说 1.Python知识结构:就是以下几句话,虽然短,但是对于理解后续所学习的内容都很有帮助 程序由模块组成 模块包含语句 语句包含表达式 表达式创建并处理对象 从这四句话可以看到,是由大到小递…