python数据类型

一.基本数据类型

对于python,一切数据都是对象,对象基于类创建,例如:

"hello,world",'jame' 属于字符串(str)

['天津','北京']属于列表(list)

查看对象相关成员 var,type,dir。

1.整数

如:10,20,30 具有如下常用功能:bit.length()、__abs__()、__add__()、__divmod__(f返回商和余数)、__rdivmod__(反除,返回商和余数).

2.长整型

可能如:2147483649、9223372036854775807

3.浮点型

如:3.14、2.88

4.字符串

如:'hello world','jame'

每个字符串都具备如下功能:

1)capilitalize"首字母变大写“

2)center"内容居中,可指定宽度”

3)count(字符串中元素的个数,可指定范围)

4)expandtabs(将tab转换成空格,默认一个tab转换成8个空格)

5)字符类型判断

isalnum() 是否是字母和数字

isalpha() 是否是字母

isdigit() 是否是数字

islower() 是否小写

 6)join"字符串连接"

7)strip"移除字符点左右两侧空白”

lstrip"移除左侧空白"

rstrip"移除右侧空白”

8)swapcase"大小写互相转换"

9)分割字符串并以列表的形式存储,可以指定分割的次数。

10)startswith,endswith"判断起始和结尾"

5.列表

如['a','b','c'],['hello','world']等,list是一种有序的集合,可以随时添加和删除其中的元素。

1)append"在原有列表中追加一个元素或列表"

 

 

2)count"列表中元素出现的次数"

3)extend"在列表尾部追加包含多个值的另一个序列,具有扩展列表的作用"

4)index"返回元素的索引位置"

5)insert"指定索引,并插入元素"

6)pop"删除list末尾的元素或删除指定的位置的元素,可获取所删除的元素值"

7)remove"删除第一个出现的元素值"

8)reverse"列表翻转排序"

9)sort"对列表中的元素进行正向排序,无法对原有列表进行保存"

10)sorted"即可以保留原列表,又能得到已经排序好的列表"

6.元组

如:('Michael', 'Bob', 'Tracy'),tuple和list非常类似,但是tuple一旦初始化就不能修改,所以它具有的方法只有count,index等。

7.字典

如:{'a':[1,2,3],b:[4,5,6],} dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度,循环时,默认循环key

1)清除内容

2)fromkeys"用于创建一个新字典,以序列seq中元素做字典的键,value为字典所有键对应的初始值".

3)get"根据key获取值,如果key不存在,则返回默认值"

4)items"以列表返回可遍历的(键, 值) 元组数组"

5)values,keys"以列表形式获取values,keys"

6)pop"删除指定给定键所对应的值,返回这个值并从字典中把它移除"

7)popitem"随机返回元组并删除字典中的一对键和值"

8)update"把字典dict2的键/值对更新到dict里"

8.set集合

set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。

创建set,需要传入字符串、列表或元组:

2)add方法,添加元素

3)clear方法,清除所有集合中所有的元素

4)difference方法,对比两个集合,将集合中的不同元素作为一个新的集合返回。

5)difference_upadte方法,删除当前set中的所有包含在 new set 里的元素。

6)discard方法,移除集合中的一个元素。

7)intersection方法,取交集返回一个新的集合。

8)intersection_update方法,取交集修改原来的集合。

9)isdisjoint方法,两个集合没有交集的话返回True。

  issubset方法, a.issubset(b):判断a是否为b的子集,如果是返回true,如果不是返回false.

  

 issuperset方法,a.superset(b):判断a是否为b的父集,如果是返回true,如果不是返回false.

10)pop方法,随机移除集合中的一个元素,并返回该元素

11)remove方法,移除集合中的某个元素,如果该元素不再集合中,则报错。

12)symmetric_difference方法,返回两个集合交集的补集。

symmetric_difference_update方法,返回两个集合交集的补集,并将结果赋值给A.

13)union方法,返回两个集合的并集。

14)update方法,A.update(B),以集合B扩展集合A。

 

二、collections系列

1.计数器(counter)

   Counter是对字典类型的补充,用于追踪值的出现次数。

 

2.可命名元组(namedtuple)

根据nametuple可以创建一个包含tuple所有功能以及其他功能的类型。

我们知道tuple可以表示不变集合,例如,一个点的二维坐标就可以表示成:

>>> p = (1, 2)

 但是,看到(1, 2),很难看出这个tuple是用来表示一个坐标的。

 定义一个class又小题大做了,这时,namedtuple就派上了用场:

namedtuple是一个函数,它用来创建一个自定义的tuple对象,并且规定了tuple元素的个数,并可以用属性而不是索引来引用tuple的某个元素。

这样一来,我们用namedtuple可以很方便地定义一种数据类型,它具备tuple的不变性,又可以根据属性来引用,使用十分方便。

可以验证创建的Point对象是tuple的一种子类:

3.默认字典(defaultdict) 

dict时,如果引用的Key不存在,就会抛出KeyError。如果希望key不存在时,返回一个默认值,就可以用defaultdict。

4.有序字典(OrderedDict )

使用dict时,Key是无序的。在对dict做迭代时,我们无法确定Key的顺序。

如果要保持Key的顺序,可以用OrderedDict

注意,OrderedDict的Key会按照插入的顺序排列,不是Key本身排序:

5.双向队列(deque)

 

posted @ 2016-10-30 21:02  DevOps_QXW  阅读(158)  评论(0)    收藏  举报