摘要: 目录 | 上一节 (5 Python对象的内部工作原理) | 下一节 (7 高级主题) 6. 生成器 在 Python 语言中,迭代(for 循环)是最常用的编程模式之一。程序执行大量的迭代来处理列表、读取文件、查询数据库......Python 最强大的特性之一就是能够以所谓的“生成器函数(gen 阅读全文
posted @ 2021-03-14 21:17 codists 阅读(57) 评论(0) 推荐(0)
摘要: 目录 | 上一节 (5.1 再谈字典) | 下一节 (6 生成器) 5.2 类和封装 创建类时,通常会尝试将类的内部细节进行封装。本节介绍 Python 编程中有关封装的习惯用法(包括私有变量和私有属性)。 Public vs Private 虽然类的主要作用之一是封装对象的属性和内部实现细节。但是 阅读全文
posted @ 2021-03-13 22:29 codists 阅读(244) 评论(0) 推荐(0)
摘要: 目录 | 上一节 (4.4 异常) | 下一节 (5.2 封装) 5.1 再谈字典 Python 对象系统主要基于字典实现。本节将对此进行讨论。 字典 字典是命名值(named values)的集合。 stock = { 'name' : 'GOOG', 'shares' : 100, 'price 阅读全文
posted @ 2021-03-12 08:47 codists 阅读(254) 评论(0) 推荐(0)
摘要: 目录 | 上一节 (4 类和对象) | 下一节 (6 生成器) 5. Python 对象的内部工作原理 本节介绍 Python 对象的内部工作原理。来自其它语言的程序员通常会发现 Python 的类概念缺乏特性。例如,没有访问控制(access-control)的概念(如:private,prote 阅读全文
posted @ 2021-03-12 00:01 codists 阅读(67) 评论(0) 推荐(0)
摘要: 目录 | 上一节 (4.3 特殊方法) | 下一节 (5 对象模型) 4.4 定义异常 用户可以通过类实现自定义异常: class NetworkError(Exception): pass **异常类始终继承自 Exception ** 它们通常是空类。空类内部使用 pass 表示。 你也可以对异 阅读全文
posted @ 2021-03-10 22:29 codists 阅读(109) 评论(0) 推荐(0)
摘要: 目录 | 上一节 (4.2 继承) | 下一节 (4.4 异常) 4.3 特殊方法 可以通过特殊方法(或者称为"魔术"方法(magic method))自定义 Python 行为的各部分。本节介绍特殊方法的思想。此外,还将讨论动态属性访问和绑定方法。 简介 类可以定义特殊方法。特殊方法对于 Pyth 阅读全文
posted @ 2021-03-09 22:36 codists 阅读(219) 评论(0) 推荐(0)
摘要: 目录 | 上一节 (4.1 类) | 下一节 (4.3 特殊方法) 4.2 继承 继承(inheritance)是编写可扩展程序程序的常用手段。本节对继承的思想(idea)进行探讨。 简介 继承用于特殊化现有对象: class Parent: ... class Child(Parent): ... 阅读全文
posted @ 2021-03-08 18:12 codists 阅读(352) 评论(0) 推荐(0)
摘要: 目录 | 上一节 (3.6 设计讨论) | 下一节 (4.2 继承) 4.1 类 本节介绍 class 语句以及创建新对象的方式。 面向对象编程(OOP) 面向对象编程是一种将代码组织成对象集合的编程技术。 一个对象包括: 数据。属性 行为。方法——应用于对象的函数。 在本课程中,你已经使用了面向对 阅读全文
posted @ 2021-03-07 14:37 codists 阅读(301) 评论(0) 推荐(0)
摘要: 目录 | 上一节 (3 程序组织) | 下一节 (5 Python对象的内部工作原理) 4. 类和对象 到目前为止,我们的程序仅使用了内置的 Python 数据类型。本节,我们介绍类(class)和对象(object)的概念。你将学习 class 语句,该语句允许你创建新的对象。我们还将介绍继承(i 阅读全文
posted @ 2021-03-06 23:21 codists 阅读(123) 评论(0) 推荐(0)
摘要: 目录 | 上一节 (3.5 主模块) | 下一节 (4 类) 3.6 设计讨论 本节,我们重新考虑之前所做的设计决策。 文件名与可迭代对象 考虑以下两个返回相同输出的程序。 # Provide a filename def read_data(filename): records = [] with 阅读全文
posted @ 2021-03-05 19:27 codists 阅读(119) 评论(0) 推荐(0)