概述
1.继续回顾程序结构
程序由模块组成,模块中包含了语句块,语句块中包含了表达式,表达式创建并处理对象。
2.类的常规理解
类几乎就是命名空间,也就是定义变量名(属性)的工具,把数据和逻辑导出给客户端。
3.类和实例
类对自身变量的修改,会改变类的所有实例对应的变量;
而实例对类的变量进行修改,不会影响类和其他实例对应的变量的值。
(这里可以从变量搜索路径和命名空间两个方面进行思考,得出上述的结论)
4.超类构造函数的调用
在构造时,python会找出并且只调用一个__init__的方法;
如果要保证子类也会执行超类构造时的逻辑,一般都是必须通过类明确地调用超类的__init__方法。
(一个类中可以写多个__init__方法,只有最后一个会被使用,前面的会被覆盖)
5.继承
像class语句这样的命名空间工具的重点是支持变量名继承。
当对对象进行点号运算时,就会发生继承,而且涉及了搜索属性定义树(一个或多个命名空间)。
对超类的继承,不仅可以实现对超类变量名的继承或重定义,同时也可以对方法的继承或重定义(重定义时也可以调用超类的方法)。
6.扩展
扩展只是一种与超类接口的方式。
7.抽象超类
带有抽象方法(如使用了)的类是不能继承的,即我们不能通过它来创建一个实例。
除非在子类中对抽象方法进行了定义。
8.命名空间字典
模块中对命名空间的实现是以字典的形式实现的,并且可以用内置属性__dict__显示这一点。
类和实例对象也是如此:属性点号运算在内部就是字典的运算,而属性继承就是搜索链接的字典而已。
(类和对象,在python中就是带有链接的字典而已,python暴露这些字典以及字典的链接,以便在高级角色如编码工具中使用)
9.文档字符串
在模块开头,使用三引号的字符串,在模块运行时会被保持,可以使用__doc__属性查看。
最后
以上就是调皮柚子为你收集整理的python学习手册(第4版) 第二十八章 类代码编写细节的全部内容,希望文章能够帮你解决python学习手册(第4版) 第二十八章 类代码编写细节所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复