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

    这篇文章会带有普遍性,不见得适合所有人,或者文章所描述的也不见得是对的,只是根据我的经历和所见写成的一篇文章,仅供参考。 前言: 在软件行业工作有几个年头了,换过多个开发语言,跳过槽,也被猎头找过,经历了三五杆枪打天下和创业公司一起成长灭亡,也进入了大公司。在这些年的历练中,看见很多刚进入软件行业不久的新人总在抱怨,说学不到东西。其实不管你在大公司还是小公司…

    Python干货 2015-03-16
  • Python函数式编程指南(三):迭代器

    这一篇我们将讨论迭代器。迭代器并不是函数式编程特有的东西,但它仍然是函数式编程的一个重要的组成部分,或者说是一个重要的工具。 转载请注明原作者和原文地址:) 3. 迭代器 3.1. 迭代器(Iterator)概述 迭代器是访问集合内元素的一种方式。迭代器对象从集合的第一个元素开始访问,直到所有的元素都被访问一遍后结束。 迭代器不能回退,只能往前进行迭代。这并…

    Linux干货 2015-03-11
  • 树 概念

    树
    二叉树

    2018-04-16
  • python中list,tuple和字符串的处理方法和函数比较

    列表list的定义和初始化list() -> new empty listlist(iterable) -> new list initialized from iterable’s itemslst=[1,[],’we’,None]iterable可迭代对象可以是列表,元组,字符串.列表中的元素可以是任意元素…

    2017-09-24
  • 高阶函数

    高阶函数
    柯里化
    装饰器、文档字符串
    functools 模块 inspect 模块

    2018-04-25
  • mysql慢查询日志进行按库切割重写文件然后分析

    需求: 把每天的慢查询日志进行按库切割 对每个库的慢查询日志进行分析 思路: 工具/功能 一般统计信息 高级统计信息 脚本 优势 mysqldumpslow 支持 不支持 perl mysql官方自带 mysqlsla 支持 支持 perl 功能强大,数据报表齐全,定制化能力强. mysql-explain-slow-log 支持 不支持 perl 无 my…

    Linux干货 2015-04-03