我是靠谱客的博主 调皮柚子,最近开发中收集的这篇文章主要介绍python学习手册(第4版) 第二十八章 类代码编写细节,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.继续回顾程序结构

程序由模块组成,模块中包含了语句块,语句块中包含了表达式,表达式创建并处理对象。

 

2.类的常规理解

类几乎就是命名空间,也就是定义变量名(属性)的工具,把数据和逻辑导出给客户端。

 

3.类和实例

类对自身变量的修改,会改变类的所有实例对应的变量;

而实例对类的变量进行修改,不会影响类和其他实例对应的变量的值。

(这里可以从变量搜索路径和命名空间两个方面进行思考,得出上述的结论)

 

4.超类构造函数的调用

在构造时,python会找出并且只调用一个__init__的方法;

如果要保证子类也会执行超类构造时的逻辑,一般都是必须通过类明确地调用超类的__init__方法。

(一个类中可以写多个__init__方法,只有最后一个会被使用,前面的会被覆盖)

 

5.继承

像class语句这样的命名空间工具的重点是支持变量名继承。

当对对象进行点号运算时,就会发生继承,而且涉及了搜索属性定义树(一个或多个命名空间)。

对超类的继承,不仅可以实现对超类变量名的继承或重定义,同时也可以对方法的继承或重定义(重定义时也可以调用超类的方法)。

 

6.扩展

扩展只是一种与超类接口的方式。

 

7.抽象超类

带有抽象方法(如使用了)的类是不能继承的,即我们不能通过它来创建一个实例。

除非在子类中对抽象方法进行了定义。

 

8.命名空间字典

模块中对命名空间的实现是以字典的形式实现的,并且可以用内置属性__dict__显示这一点。

类和实例对象也是如此:属性点号运算在内部就是字典的运算,而属性继承就是搜索链接的字典而已。

(类和对象,在python中就是带有链接的字典而已,python暴露这些字典以及字典的链接,以便在高级角色如编码工具中使用)

 

9.文档字符串

在模块开头,使用三引号的字符串,在模块运行时会被保持,可以使用__doc__属性查看。

最后

以上就是调皮柚子为你收集整理的python学习手册(第4版) 第二十八章 类代码编写细节的全部内容,希望文章能够帮你解决python学习手册(第4版) 第二十八章 类代码编写细节所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(72)

评论列表共有 0 条评论

立即
投稿
返回
顶部