python数据类型及其函数方法归纳总结

数据类型的分类:
ֺ数值型:
int ,float, complex, bool
    序列对象:
字符串,列表,元组tuple
    键值型
集合set,字典dict
如果按照可hash性来分类
hashable(可哈希性)
An object is hashable if it has a hash value which never changes during its
lifetime(it needs _hash_() method),and can be compared to other objects
(it needs an _eq_() or _cmp_() method).Hashable objects which compare
 equal must have the same hash value.
如果 一个对象是可hash的,那么在它的生存期内必须不可变(需要一个哈希函数),而且可以和其
他对象比较需要比较方法).比较相同的对象一定有相同的哈希值
简单的说就是生存期内可变的对象不可以哈希,就是说改变时候其id()是不可变的.
    不可hash的:
列表,字典,集合
    可hash型:
数值型,字符串,元组
是否可hash的区别主要是 字典里面的键必须为可hash类型的
可迭代类型 (interable)
序列对象: 字符串,列表,元组tuple      还有    键值型:集合set,字典dict  都是可迭代类型
他们都可以使用( for i in 对象: ) 将其元素一 一取出,使用 len(对象) 可以求其个数
range(  ),还有生成器产生的序列 也都是可迭代类型,无法打印显示但是都能够迭代
变量名
python中如果想使用一个数据多次,需要给它一个变量名,要不然它会被使用后消失
定义方法
python中所有数据类型生成即定义,  如 a=3 ,生成int型变量3,变量名为a
a ={2,3,4},生成set型变量,变量名为a
对于列表,元组tuple,集合set,字典dict
可以通过构造函数获得
list(iterable)
tuple(iterable)
set(iterable)
dict(iterable)  构造函数中生成的对象要满足类型的定义规定,所以字典中可迭代类型要由
一个或多个二元对象构成,且每个二元对象的第一个元素要为可hash类型,否则会报错
数值型处理函数
round(),四舍六入五取偶
int()取整数部分. 强制类型转换对象为数值型或者字符串,但是字符串需要为只包含数字
min() ,max() 获取一系列数值类型中的最大和最小的数
bin(),oct(),hex()  获取一个十进制的二进制,八进制,十六进制数
使用math模块可以实现几乎所有数值类型处理   可以使用  help(math) 查看帮助信息
或取圆周率,和自然常数
math.floor() 和 math.ceil()  获取一个数的地板,天花板
math.pi
math.e
字符串的定义初始化方法一般是直接生成
str(对象)也可以用,但很少用,如果对象一般是数值型,如果是其他类型会包含它们的表示符号
(”.join(对象)  可以由其他类型生成字符串,但是需要借助到字符串)
使用help(str)可以查看到所有的字符串处理方法
可以使用索引访问字符串中的每个元素
重用的有几类,生成方法或者和格式化方法:
str(对象) -> str
“string”.join(iterable) -> str
‘string’ + ‘string’ -> str
格式化方法
“I am %03d” % (20,)
 ‘I like %s.’ % ‘Python’
 ‘%3.2f%% , 0x%x, 0X%02X’ % (89.7654, 10, 15)
 “I am %-5d” % (20,)
format函数的格式化方法
“{} {xxx}”.format(*args, **kwargs) -> str
分割方法:
split,partition等
split(sep=None, maxsplit=-1) -> list of strings
排版方法:
改变大小写,居中显示等
修改方法:
删去,或修改字符
查询方法:
find,index,count等
列表的定义初始化方法
list(iterable) -> new list initialized from iterable’s items
使用help(list)可以查看到所有的列表处理方法
可以使用索引访问字符串中的每个元素
列表[index]  可以访问它的值,如果对它赋值可以修改它的值
追加   append(object) -> None
嵌入   insert(index, object) -> None
扩展    extend(iteratable) -> None
连接或者重复操作产生一个新的列表    +, -> list
删除    remove(value) -> None
删除末尾   pop([index]) -> item
清空   clear() -> None
反转  reversed() -> None
排序   sort(key=None, reverse=False) -> None
复制  copy()  -> List
元组由于是不可变类型,但是结构又比字符串复杂所有,它的操作函数很少
help(tuple) ,help(set),help(dict) 不解释
它的定义初始化方法
tuple(iterable) -> tuple initialized from iterable’s items
连接或者重复操作产生一个新的元组    +, -> tuple
元组[index]  可以访问但无法赋值修改它的值
count() 获得元素个数
set  和 dict 也是可迭代类型不同于字符串,列表,元组的是没法索引
set 的元素必须可hash类型
set初始化方法
set(iterable) -> new set object
增加元素 add(elem),update(*others)
删除元素 remove等
clear()清空
dict初始化方法
可以是一个或两个参数
dict(**kwargs),dict(iterable)
dict(iterable, **kwarg)
参数要满足严格的格式
类方法 dict.fromkeys(iterable, value)
访问
字典[key]    赋值可以修改它的值
get(key[, default])
setdefault(key[, default])  访问并修改
删除   pop(),等
模块collections中有两个非常重要的函数
collections.defaultdict([default_factory[, …]])
当定义一个defaultdict时,如果获取它的key不存在时,会获取这个工厂函数生成对应的value
collections.OrderedDict([items])
当定义一个OrderedDict时,获得的字典会按照生成它时的顺序排列

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/87713

(1)
daishitongdaishitong
上一篇 2017-10-09 19:21
下一篇 2017-10-09

相关推荐