读《Python 基础教程》(第2版)
Magnus Lie Hetland 著
2010年7月 第 1 版
图书馆借到的一本旧书,差钱没买新的对付着看。
看过一些 python 的资料,所以这次笔记就不那么细了。
一,基础知识
二,列表和元组
三,使用字符串
四,字典,当索引不好用时
五,条件、循环和其他语句
六,抽象
七,更加抽象
多态,Polymorphism
封装, Encapsulation
继承, Inheritance
创建自己的类
__metaclass__ = type #确定使用新式类
class Person:
def setName(self name):
self.name = name
def getName(self):
return self.name
def greet(self):
print "Hello. world!! I'm %s." % self.name
写下问题的描述,程序要做什么?把所有的名词、动词和形容词加下划线。
对于所有名词,用作可能的类
对于所有动词,用作可能的方法。
对于所有形容词,用作可能的特性。
把所有方法和特性分配到类。
这个方法是做面象对向的草图。接着考虑类和对象之间的关系以及作用。
写下一系列的使用实例,也就是程序应用时的场景,试着包括所有的功能。
一步步考虑每个使用实例,保证模型包括所有需要的东西。如果有问题就修复。直到满意为止。
八,异常
创造异常:raise ArithmeticError
内建异常:
Exception | 所有异常的基类 |
AttributeError | 特性引用或赋值失败时引发 |
IOError | 试图打开不存在文件 |
IndexError | 在使用序列中不存在的索引时引发 |
KeyError | 在使用映射中不存在的键时引发 |
NameError | 在找不到名字(变量)时引发 |
SyntaxError | 在代码为错误形式时引发 |
TypeError | 在内建操作或者函数应用于错误类型的对象时引发 |
ValueError | 在内建操作或者函数应用于正确类型的对象,但是该对象使用不合适的值时引发 |
ZeroDivisionError | 在除法或者模除操作的第二个参数为0 时引发 |
捕捉异常类:
try:
...
except ZeroDivisionError:
...
不止一个 except
全捕捉:
except:
九,魔法方法、属性和选代器
十,充电时刻
模块
十一,文件和素材
十二,图形用户界面
十三,数据库支持
十四,网络编程
十五, python 和万维网
十六,测试
测试工具
doctest
unittest (基于 java 的测试框架 JUnit)
十七,扩展 python
十八,程序打包
十九,好玩的编程
二十,项目1,即时标记
二十一,项目2,画幅好画
二十二,项目3,万能的 XML
二十三,项目4,新闻聚合
二十四,项目5,虚拟茶话会
聊天项目
二十五,项目6,使用 CGI 进行远程编辑
二十六,项目7,自定义电子公告板
二十七,项目8,使用 XML-RPC 进行文件共享
二十八,项目9,文件共享2 GUI 版本
二十九,项目10,DIY 街机游戏
pygame