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

相关推荐

  • 基于Python和MoviePy库实现数据的动态展示

    基于Python和MoviePy库实现数据的动态展示 (翻译:以马内利)  原文链接:Data Animations With Python and MoviePy   Python拥有很多实现数据可视化的库,但是很少可以展示GIFs的动态视图。 这篇博客主要介绍怎样使用MoviePy库作为一个其他可视化库的通用插件。 Movi…

    2015-03-26
  • 二叉树的遍历和堆排序

    二叉树的遍历和堆排序

    Python笔记 2018-05-16
  • DevOps 风向标!DevOps国际峰会6月29日正式启航!

    DOIS 大会为您呈现互联网公司与海外企业的实践经验与工具技术,聚焦 DevOps 在金融、电信、零售等行业的系统性实践。在这里我们不空谈、不务虚,实实在在的专注DevOps落地。

    2018-05-16
  • Python内置数据结构——列表

    知识框架图 学习笔记 数据结构分类 数值 int、float、complex、bool都是class int:长整型,没有上限,取决于内存区域大小 float:支持十进制和科学计数法,仅支持双精度 complex:复数,有实数和虚数部分 bool:int的子类,True、False对应1、0,可以和整数直接运算 序列对象 字符串str 列表list 元组tu…

    2018-03-26
  • 面向对象,魔术方法

    面向对象 一面向对象 什么是面向对象: 一种认识世界、分析世界的方法论。将万事万物抽象为类。 类class: 类是抽象的概念,是万事万物的抽象,是一类事物的共同集合的集合。 用计算机语言来描述类,就是属性和方法的集合。 对象instance,object: 对象是类的具象,是一个实体。 每个个体都是抽象类的不同实体。 哲学 一切皆对象 对象是数据和操作的封装…

    Python笔记 2018-05-14
  • Python 部分知识点总结(八)

    此篇博客只是记录第十周未掌握或不熟悉的知识点,用来加深印象。

    Python笔记 2018-05-13