数字(number)
- 无上限,不像C一样有最大值,python中的数字类型可以无限大,只要你的电脑能算的出来
字符串(string)
- 属于sequence系列,string可以看作单一字符string的sequence
- string是不可变的(immutable),因此一旦创建之后就不能再变动了,但是可以通过整体再次赋值来改变其内容
- 和array类似,也可以通过name[index]的方式来获取单一string元素,且index可以是负值
- slicing可以成块地获取string中的元素,是sequence operation
- 首尾加三个引号可以进行多行string输入
- string两端单双引号皆可,一般用单引号
类型特定的函数:find, replace, split, upper, rstrip, isalpha等
列表(List)
- 属于sequence系列,因此支持所有的sequence operation
- 类似于C的array,但是没有固定的大小限制,每个元素也不限其类型,虽然如此,不能直接引用超出现有上限部分的元素(因为该部分元素还没有赋值),只能通过函数等方式扩充列表
- 可以进行无限嵌套,另有list comprehension expression用于协助嵌套后的列表操作(list comprehension expression较为复杂)
字典(Dictionaries)
- 存储数据的方式有些像哈希表,但是存储元素对应的key值是用户自行输入生成的而不是根据存储元素的特征生成。
- 与list不同,可以对不存在的项进行引用赋值从而创建新的项。但是不能直接调用不存在的项,因此可以用in函数来查询是否存在该项,另外还有get、try等函数可以使用
- 字典中,各个项的排列顺序与输入顺序未必相同,完全由机能决定
元组(Tuple)
- 类似于list,唯一区别是tuple是immutable的
文件(Files)
- 使用open函数来创建文件对象,但是最好的方式是使用逐行读取的方式来创建file对象,后续章节会有说明。
- file还分为二进制文件(binary file)和非通用编码文件(non unicode file)等,各自有相应的处理方式
其他
集合(Set)
- 无序、不可变、非序列对象类型。基本类似于数学中集合的概念
- 常用于无序比较、滤除重复值、获取不同的项等操作
其他数字类型
- decimal numbers
- fraction numbers
- boolean
- None,用于初始化list等对象时填位