python基础教程第三版(第7章 再谈抽象)

1.使用对象的好处:多态,封装,继承

封装与多态的区别:

多态是你无需知道对象所属的类,就可以调用方法

封装是你无需知道对象的构造就能使用它

2.与对象属性相关联的函数称为方法

3.加法运算符+ 既可以用于数,也可以用于字符串和其他类型的序列

4在Python中约定使用单数并将其首字母大写来标识类:

5.创建自定义的类

python基础教程第三版(第7章 再谈抽象)_第1张图片

6.self 的解释

python基础教程第三版(第7章 再谈抽象)_第2张图片

7.方法和函数的区别在于参数self上,方法是将其第一个参数关联到它所属的实例,因此无需提供这个参数

python基础教程第三版(第7章 再谈抽象)_第3张图片

python基础教程第三版(第7章 再谈抽象)_第4张图片

8.私有属性不能从对象外部访问,而只能通过存取器方法(比如get_name 和set_name )来访问

9.要让方法或者属性成为私有的(不能从外部访问),只需让其名称以两个下划线打头即可

若不希望名称被修改,又不想发出不要从外部修改属性或者方法的信号,可用一个下划线打头 (page112)

10.类的命名空间

python基础教程第三版(第7章 再谈抽象)_第5张图片

11.

callable(object) 判断对象是否是可调用的(如是否是函数或者方法)

要确定一个类是否是另一个类的子类,可使用内置方法 issubclass

如果有一个类,要确定其基类,可访问其特殊属性 __bases__

要确定对象是否是特定类的实例,可使用 isinstance

要知道对象属于哪个类,可使用__class__

查看实例是否包含属性talk,可使用 hasattr

指定属性不存在时使用的默认值,可使用 getattr 

要查看对象中存储的所有值,可检查__dict__ (链接:http://www.cnblogs.com/alvin2010/p/9102344.html)

12.多重继承

python基础教程第三版(第7章 再谈抽象)_第6张图片

13.如果要确定对象是由什么组成的,可查看模块 inspect  (链接:https://www.cnblogs.com/mosson/p/7244480.html)

14.抽象类:是不能被实例化的类,其职责是定义子类应实现的一组抽象方法

标准库:模块 collections.abc 提供了很多有用的抽象类

python基础教程第三版(第7章 再谈抽象)_第7张图片

抽象基类:

 

 

你可能感兴趣的:(Python)