Python基础教程7.4 小结

7.4 小结

本章不仅介绍了有关Python语言的知识,还介绍了多个你可能一点都不熟悉的概念。下面来总结一下。

 对象:对象由属性和方法组成。属性不过是属于对象的变量,而方法是存储在属性中的函数。相比于其他函数,(关联的)方法有一个不同之处,那就是它总是将其所属的对象作为第一个参数,而这个参数通常被命名为self。

 类:类表示一组(或一类)对象,而每个对象都属于特定的类。类的主要任务是定义其实例将包含的方法。

 多态:多态指的是能够同样地对待不同类型和类的对象,即无需知道对象属于哪个类就可调用其方法。

 封装:对象可能隐藏(封装)其内部状态。在有些语言中,这意味着对象的状态(属性)只能通过其方法来访问。在Python中,所有的属性都是公有的,但直接访问对象的状态时程序员应谨慎行事,因为这可能在不经意间导致状态不一致。

 继承:一个类可以是一个或多个类的子类,在这种情况下,子类将继承超类的所有方法。你可指定多个超类,通过这样做可组合正交(独立且不相关)的功能。为此,一种常见的做法是使用一个核心超类以及一个或多个混合超类。

 接口和内省:一般而言,你无需过于深入地研究对象,而只依赖于多态来调用所需的方法。然而,如果要确定对象包含哪些方法或属性,有一些函数可供你用来完成这种工作。

 抽象基类:使用模块abc可创建抽象基类。抽象基类用于指定子类必须提供哪些功能,却不实现这些功能。

 面向对象设计:关于该如何进行面向对象设计以及是否该采用面向对象设计,有很多不同的观点。无论你持什么样的观点,都必须深入理解问题,进而创建出易于理解的设计。

7.4.1 本章介绍的新函数

函 数 描 述

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

getattr(object,name[,default]) 获取属性的值,还可提供默认值

hasattr(object, name) 确定对象是否有指定的属性

isinstance(object, class) 确定对象是否是指定类的实例

issubclass(A, B) 确定A是否是B的子类

random.choice(sequence) 从一个非空序列中随机地选择一个元素

setattr(object, name, value) 将对象的指定属性设置为指定的值

type(object) 返回对象的类型

7.4.2 预告

你深入地学习了如何创建自定义对象,并知道这很有用。下一章介绍异常处理,其篇幅较小,让你能够歇口气。然后,将深入介绍Python的特殊方法(第9章)。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181105G0D9V500?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券