一、 Python综述
1. Python2.x相比于3.x版本的优点:优化成熟、兼容库多。
2. Python的安装以及Eclipse中的PyDev插件。
3. Python实现斐波那契数列的演示。
二、 数据类型
Python的数据类型是在变量赋值的时候自动确定的。
1. Number类型
用于存储数字。包括Integer、Long Integer、Boolean、Double-precision float、Complex number。
Integer:在不同位的机器上取值范围不同。
Long Integer:以1或L结尾,没有限制数值大小。
Complex number:复数。
(1) 操作符:算术操作符、比特操作符。
(2) 内置函数:用于操作数值进行运算或转化的函数。
2. Sequence类型簇
序列类型簇包括字符串(String)、元组(Tuple)、列表(List)。
String:由字符组成的序列类型。
Tuple:由任意对象组成的不可修改的序列类型。
List:由任意对象组成的可修改的序列类型。
(1) 操作符
可用于元素提取、序列链接等操作。
(2) 内置函数
可用于求长度、类型转换、排序等操作。
3. String类型(序列类型的操作都适用)
由0个或多个字符组成的有限序列。通常以整体作为操作对象。
(1) 分类:普通字符串、Unicode字符串(字符串前面加u)。
(2) 字符串格式化:按指定规则吧字符转化为新的格式,同时可以选择新的展示形式。
(3) 内置函数:用于String类型的各种操作。
4. Tuple类型
用圆括号表示,不同元素之间以逗号隔开。其大小和其中的元素在初始化后不能修改。唯一的用处就是被读取
(1) 特点:操作Tuple的速度比操作List要快。
5. List类型
用中括号表示,不同元素之间以逗号隔开。其大小和其中的元素在初始化后可以再次被修改。可用于增、删、改等操作。
(1) 基本操作:序列类型的操作在此都通用。
(2) 内置函数:用于各种操作List中的元素。
6. Set类型
即集合。表示相互之间无序的一组对象。包括普通集合set和不可变集合frozenset。有交集、并集、补集等运算。
(1) 内置函数:用于集合中元素的操作。
7. Dictionary类型
即字典。代表一个键值存储库。是Python中唯一表示映射关系的类。可以由键搜索到对应的值。
(1) 内置函数:用于字典中键值对的操作。
三、 流程控制
用于实现对程序流程的选择、循环、和返回等控制。主要有if、for、break、continue等。
1. 程序块与作用域
程序块:用冒号“:”来标记,同一个冒号下的语句要有相同的缩进。
作用域:按变量或函数的可见性定义的程序子集。同一个程序块就是同一个作用域。
2. 判断语句
三种语法形式的if。
3. 循环语句
(1) while
(2) for
(3) break和continue
4. 语句嵌套
Python允许用if、while、for等语句的嵌套。
四、 函数
1. 定义与使用
(1) 关键字:def。
(2) 返回值:可以0个或多个。
2. 变长参数
函数参数的个数、类型不定。Python支持Tuple变长参数和Dictionary变长参数。
(1) Tuple变长参数:未知参数的数量不固定,但在函数使用这些参数时无需知道这些参数的名字。用*标记。
(2) Dictionary变长参数:未知参数的数量不固定,在函数使用这些参数时需要知道这些参数的名字。用**标记。
3. 匿名函数
无需定义标识符(函数名)的函数或子程序,用于只引用一次函数的场合。Python中一般用lambda语法定义匿名函数。
五、 异常
异常处理功能分离了接收和处理错误代码两个步骤。
1. 处理异常
try、expect、else(可选)、finally(可选)。
2. 自定义异常
除了系统自定义的异常外,自己还可以定义异常的类型。自定义异常可以是自己定义的一个类。
六、 面向对象编程
类、对象、继承、封装性、多态性。
1. 类和对象
关键字:class
(1) 构造函数:用于初始化类的对象。不能有返回值。
(2) 析构函数:销毁对象时调用。清理和善后。
(3) 实例成员变量:用于表示实例(对象)中的变量,用self。
(4) 静态函数和类函数:可以不通过构建对象而是直接访问类。静态函数使用装饰器@staticmethod来定义,类函数使用@classmethod来定义。它们都定义在类里面,调用的时候直接“类.函数”即可。
(5) 私有成员:封装性的体现。类里面不想让外部看到的变量定义为私有成员,用双下划线开始来命名。
2. 继承
定义类时可以在小括号中指定基类。
(1) 在子类成员函数中用super关键字可以访问父类成员。
(2) 在子类析构函数中调用基类的析构函数是一种最佳实践,不这样做可能导致父类资源不能如期释放。
(3) Python允许一个子类可以有多个基类。