第四章Python对象类型简介
Python程序可以被分解为模块,声明,表达式和对象:
1、程序由模块组成
2、模块中包含了声明
3、声明中含有表达式
4、表达式创造和处理变量
一、为什么使用内置对象?
1、内置对象使得写程序更容易
2、内置对象是扩展对象的组件
3、内置对象通常比自定义数据结构的效率更高
4、内置对象是Python语言标准的一部分
5、Python的核心数据类型
Object type Example literals/creation
Numbers 1234,3.1415, 3+4j, Decimal, Fraction
Strings 'spam',"guido's", b'a\x01c'
Lists [1,[2, 'three'], 4]
Dictionaries {'food': 'spam', 'taste': 'yum'}
Tuples (1,'spam', 4, 'U')
Files myfile= open('eggs', 'r')
Sets set('abc'),{'a', 'b', 'c'}
Other core types Booleans, types, None
二、数字
1、基本运算:+ , - , * , / ,**, //(整数除法)
2、math和random模块
三、字符串
*严格意义上说,字符串是单个字符组成的序列。
1、序列操作符(只要是序列都可以用,比如list,tuple)
2、字符串的不变性
3、字符串的特有方法(更多内容请见help(str)或help(str.method()))
4、字符串的模式对照
四、列表
1、序列操作符:见字符串部分,方法通用
2、列表的特有方法:更多内容请自己help
3、用列表表示矩阵及相关技巧
五、字典——Python中的唯一映射(mapping)类型
1、字典用{}构造,包含一系列的键值对(key-valuepairs),取字典中的值使用value = d[key]
2、用一个例子解释字典:利用mapping个每个字母作为键,逆序的字母作为值
(1)给出字符串并构造一个列表,按顺序包含了每个字母
(2)给出我们期望中的键值对
(3)构造字典,并看看字典能做什么
比较(2)和(3),键的书序不一样,个数也不同。mapping中有两个p,但是同一个键不能对应两个值。因此第二次定义p键的值成为了字典d中的取值,第一次定义的值不存在了。字典中对同一键定义多次,最终取最后一次的定义值,而且字典是无序的,不能用编号进行索引。
六、元组(Tuple)——中文翻译的好忧桑
1、元组是一个不可以改变的列表,用()构建
2、支持序列的大多数运算,但是有少许不同
3、为什么使用元祖?
元组提供了一个不变性,在大程序中会简化编程,一般的小程序中很少使用。
七、文件
1、对文件的操作主要包括:打开,读写,关闭
2、各种对应的代码
八、其它核心类型
1、集合:交并差的运算等
2、Decimal, Boolean, None(常用语初始化变量)
3、用户自定义
# 一个用户自定义类的例子
class Example:
'''docstring: 类注释'''
def __init__(self, var):
pass
def __str__(self):
pass
def methods(self, vars):
pass