python对象类型
一.内置对象
对象类型 | 分类 | 是否可变 | 例子 |
数字 | 数值 | 否 | 123,3.12 |
字符串 | 序列 | 否 | 'test',"test's" |
列表 | 序列 | 是 | [1,2,3,[1,2,'test']] |
字典 | 对应 | 是 | {'name':'zhangsan','age':18} |
元组 | 序列 | 否 | (1,2,3,(1,2,3)) |
文件 | 扩展 | N/A | file=open('filename') |
集合 | 集合 | 是 | set('test'),{'t','e','s','t'} |
frozenset(不可变集合) | 集合 | 否 | frozenset({'l', 'e', 'h', 'o'}) |
bytearray(3.0) | 序列 | 是 | |
其他类型 | 函数,模块,类 |
二.知识点
1.对象根据分类来共享操作:例如字符串、列表和元组都共享注入合并、长度和索引等序列操作。
2.只有可变对象可以原处修改。
3.赋值操作总是存储对象的引用,而不是这些对象的拷贝。拷贝需要注意的是:无条件的分片以及字典的copy方法只能做顶层赋值,不能赋值嵌套的数据结构,完整的拷贝使用copy.deepcopy()。
4.python把任意的空数据结构视为假,把任何非空数据结构视为真。
5.元组合集合类似,只是元组不能在原处修改。列表是有序集合,字典是无序对象集合,列表通过偏移来存取,字典通过键来存取。
6.对象的类型决定对象可以参与的操作(可以理解成支持的函数操作),python是属性强类型的语言。
7.查询某一种内置类型所支持的内置方法 help(类型)
三.类型转换
1.转换成字符串类型: str(),repr()或format()
2.转成数字类型:int(),float()
3.字符串转成列表:list()
4.字符串转换为元组:tuple()
5.将字串转换成集合,集合没有次序,并且把重复的都去掉:set()
6.将整数转为字符:chr()
7.将字符串转换成整数:ord()
三.序列操作方法
适用所有序列的操作和方法
s[i]: 索引运算
s[i:j]: 为切片运算符
s[i:j:stride]: 为扩展切片运算符
len(s): 序列长度
min(s) : s中最小值
max(s):s中最大值
sum(s): s中各项和
all(s):检查s中的所有项是否为True
any(s) : 检查s中的任意项是否为True
适用于可变序列的操作
s[i] = v 项目赋值
s[i:j] =t 切片赋值
s[i:j:stride] = t 扩展切片赋值
del s[i] 项目删除
del s[i:j] 切片删除
del s[i:j:stride] 扩展切片删除