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 22:21

相关推荐

  • Python基础练习之set/dict练习

    1.用户输入一个数字 打印每一位数字及其重复的次数 (1)字符串练习2用的方法 while True: num = input().strip().lstrip(‘0’) if num.isdigit(): break count = [0] * 10 for j in num: x = int(j) if count[x] == 0: count[x] =…

    2017-10-09
  • 解析式

    列表解析式和字典解析式 datetime模块 对日期,时间,时间戳的处理 datetime类 today()返回本地时区当前的datetime对象 now(tz=None)返回当前时间的datetime对象,时间到微秒,如果tz为None,返回和today()一样 utcnow()没有时区的当前时间 fromtimestamp(timestamp,tz=Zo…

    2018-04-09
  • 函数与生成器

    函数 由若干语句组成的语句块,函数名,参数列表构成,是组织代码的最小单元,完成一定的功能,结构化编程对代码的最基本的封装,封装的目的是为了复用 函数中没有return,隐式会返回一个none值 定义中的参数列表成为形式参数,只是一种形式表达,简称形参 调用时写的参数是实际参数,是实实在在传入的值,简称实参 函数的定义,只是声明了参数,不会执行,可以进行调用,…

    2018-04-16
  • 通过堡垒机代理SSH运行Ansible(译)

    有一种常见的网络安全模式是阻止私有网络外部对应用服务器的所有连接(指除了业务数据外其它的连接,如后台管理系统和内部业务系统。译者注),然后使用 DMZ 区域中的 堡垒机 来选择性的将到服务器的流量加入白名单。 我们有这样的一个服务器池,只允许来自特定 IP 地址的 SSH 流量。这些服务器还由 Ansible…

    Linux干货 2015-02-14
  • Python学习第十三周总结

    网络协议和管理、http服务和Apache

    2018-06-03
  • 选择排序 以及 set、dict、习题练习

    习题练习 仅作参考

    2017-10-10