首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python基础教程9.9 小结

9.9 小结

本章介绍的内容很多,下面来总结一下。

 新式类和旧式类:Python类的工作方式在不断变化。较新的Python 2版本有两种类,其中旧式类正在快速退出舞台。新式类是Python 2.2引入的,提供了一些额外的功能,如支持函数super和property,而旧式类不支持。要创建新式类,必须直接或间接地继承object或设置__metaclass__。

 魔法方法:Python中有很多特殊方法,其名称以两个下划线开头和结尾。这些方法的功能各不相同,但大都由Python在特定情况下自动调用。 例如__init__是在对象创建后调用的。

 构造函数:很多面向对象语言中都有构造函数,对于你自己编写的每个类,都可能需要为它实现一个构造函数。构造函数名为__init__,在对象创建后被自动调用。

 重写:类可重写其超类中定义的方法(以及其他任何属性),为此只需实现这些方法即可。要调用被重写的版本,可直接通过超类调用未关联版本(旧式类),也可使用函数super来调用(新式类)。

 序列和映射:要创建自定义的序列或映射,必须实现序列和映射协议指定的所有方法,其中包括__getitem__和__setitem__等魔法方法。通过从list(或UserList)和dict(或UserDict)派生,可减少很多工作量。

 迭代器:简单地说, 迭代器是包含方法__next__的对象,可用于迭代一组值。没有更多的值可供迭代时,方法__next__应引发StopIteration异常。 可迭代对象包含方法__iter__,它返回一个像序列一样可用于for循环中的迭代器。通常,迭代器也是可迭代的,即包含返回迭代器本身的方法__iter__。

 生成器:生成器的函数是包含关键字yield的函数,它在被调用时返回一个生成器,即一种特殊的迭代器。要与活动的生成器交互,可使用方法send、 throw和close。

 八皇后问题:八皇后问题是个著名的计算机科学问题,使用生成器可轻松地解决它。这个问题要求在棋盘上放置8个皇后,并确保任何两个皇后都不能相互攻击。

9.9.1 本章介绍的新函数

函 数 描 述

iter(obj) 从可迭代对象创建一个迭代器

next(it) 让迭代器前进一步并返回下一个元素

property(fget, fset, fdel, doc) 返回一个特性;所有参数都是可选的

super(class, obj) 返回一个超类的关联实例

调用iter和super时,还可提供这里没有列出的其他参数,更详细的信息请参阅标准Python

文档。

9.9.2 预告

至此,你学习了Python语言的大部分知识,但为何本书后面还有这么多章呢?因为需要学习的知识还有很多,大都是关于Python如何以各种方式与外部联系的。另外,还有测试、扩展、打包和一些具体项目。本书还远没有到结束的时候。

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

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券