实用的 Python 编程--讲师说明 作者:戴维·比兹利(David Beazley) 概述 对于如何使用我的课程"实用的 Python 编程"进行教学的问题,本文档提供一些通用的说明和建议,包括课程目标.课程受众.棘手的内容等. 一些人会在一个典型的.为期三天的公司培训中进行教学,本说明就是提供给这些教学人员的.在如何教授自己的课程方面,这些说明可能会给你带来一些启发. 目标受众和一般方法 本课程旨在作为已经有一定的编程经验人员的"Python 入门"课程.这绝…
欢迎光临 大约 25 年前,当我第一次学习 Python 时,发现 Python 竟然可以被高效地应用到各种混乱的工作项目上,我立即被震惊了.15 年前,我自己也将这种乐趣教授给别人.教学的结果就是本课程--一门实用的学习 Python的课程.本课程自 2007 年面世以来,已经被应用到400多个团体的面对面教学中.这些团体中包含了交易员.系统管理员.天文学家.修理工以及上百名使用 Python 帮助火星探测器着陆的火箭科学家.现在,我很高兴能够在知识共享协议下将这份课程共享给大家. GitHu…
目录 | 上一节 (5.1 再谈字典) | 下一节 (6 生成器) 5.2 类和封装 创建类时,通常会尝试将类的内部细节进行封装.本节介绍 Python 编程中有关封装的习惯用法(包括私有变量和私有属性). Public vs Private 虽然类的主要作用之一是封装对象的属性和内部实现细节.但是,类还定义了外界用来操作该对象的公有接口(public interface).实现细节与公有接口之间的区别很重要. 问题 在 Python 中,几乎所有与类和对象有关的东西都是开放(open)的. 可…
目录 | 上一节 (4.3 特殊方法) | 下一节 (5 对象模型) 4.4 定义异常 用户可以通过类实现自定义异常: class NetworkError(Exception): pass **异常类始终继承自 Exception ** 它们通常是空类.空类内部使用 pass 表示. 你也可以对异常进行分层: class AuthenticationError(NetworkError): pass class ProtocolError(NetworkError): pass 练习 练习 4…
目录 | 上一节 (4.1 类) | 下一节 (4.3 特殊方法) 4.2 继承 继承(inheritance)是编写可扩展程序程序的常用手段.本节对继承的思想(idea)进行探讨. 简介 继承用于特殊化现有对象: class Parent: ... class Child(Parent): ... 新类 Child 称为派生类(derived class)或子类(subclass).类 Parent 称为基类(base class)或超类(superclass).在子类名后的括号 () 中指定…
目录 | 上一节 (1.1 Python) | 下一节 (1.3 数字) 1.2 第一个程序 本节讨论有关如何创建一个程序.运行解释器和调试的基础知识. 运行 Python Python 程序始终在解释器中运行. 解释器是一个"基于控制台"的应用程序,通常从命令行 shell 启动. python3 Python 3.6.1 (v3.6.1:69c0db5050, Mar 21 2017, 01:21:04) [GCC 4.2.1 (Apple Inc. build 5666) (do…
目录 | 上一节 (3.2 深入函数) | 下一节 (3.4 模块) 3.3 错误检查 虽然前面已经介绍了异常,但本节补充一些有关错误检查和异常处理的其它细节. 程序是如何运行失败的 Python 不对函数参数类型或值进行检查或者校验.函数可以处理与函数内部语句兼容的任何数据. def add(x, y): return x + y add(3, 4) # 7 add('Hello', 'World') # 'HelloWorld' add('3', '4') # '34' 如果函数中有错误,它…
目录 | 上一节 (3.3 错误检查) | 下一节 (3.5 主模块) 3.4 模块 本节介绍模块的概念以及如何使用跨多个文件的函数. 模块和导入 任何一个 Python 源文件都是一个模块. # foo.py def grok(a): ... def spam(b): ... import 语句加载并执行一个模块. # program.py import foo a = foo.grok(2) b = foo.spam('Hello') ... 命名空间 模块是命名值的集合,有时也称为命名空间…
目录 | 上一节 (3.4 模块) | 下一节 (3.6 设计讨论) 3.5 主模块 本节介绍主程序(主模块)的概念 主函数 在许多编程语言中,存在一个主函数或者主方法的概念. // c / c++ int main(int argc, char *argv[]) { ... } // java class myprog { public static void main(String args[]) { ... } } 这是启动应用程序时执行的第一个函数. Python 主模块 Python…
目录 | 上一节 (3.6 设计讨论) | 下一节 (4.2 继承) 4.1 类 本节介绍 class 语句以及创建新对象的方式. 面向对象编程(OOP) 面向对象编程是一种将代码组织成对象集合的编程技术. 一个对象包括: 数据.属性 行为.方法--应用于对象的函数. 在本课程中,你已经使用了面向对象编程技术. 例如,操作列表. >>> nums = [1, 2, 3] >>> nums.append(4) # Method >>> nums.inse…