python数据类型

python的基本数据类型(标准类型):


数字类型:是标量,直接访问

1.整型:intshortintlong都是整型(长整型)。

2.浮点数:float,分数属于浮点数,floatdouble都是浮点数(双精度)

4.复数:complex,real+imagj ,实数和虚数部分都是float


数字类型:是标量,直接访问

1.布尔值:bool,只有两个值TrueFalse


python也支持八进制(0)和十六进制(0x).


字符类型:是标量,顺序访问

  1. 字符串str


组合类型:是容器,顺序访问

1.元祖tuple


组合类型:是容器,顺序访问

1.列表list


组合类型:是容器,映射访问

1.字典dict


组合类型:

1.可变集合set

2.不可变集合frozenset


数字类型、字符类型、元祖和不可变集合是不可变类型,只能是重新创建对象,是可哈希的。

列表、字典和可变集合是可变类型,可以重新赋值,是不可哈希的。


------------------------------------

序列:sequence

成员有序排列,可以通过下标偏移量访问一个或多个成员。字符串、元祖、列表都是序列,序列下标从0开始。


序列类型操作符(字符串、元祖、列表都通用):

seq[ind]:获取下标为ind的元素,

seq[ind1:ind2]:获取下标从ind1开始到ind2的元素,不包括ind2这个元素,

seq[ind1:ind2:step]:获取下标为[ind1,ind2)的元素,步长为step

ind的取值范围[0,len(seq)-1][-len(seq),-1],ind2一定要大于ind1.

seq[::-1]: 翻转一个序列。


seq*number :让seq重复number次。

seq1+seq2 :将seq1seq2连接起来。


objinsequence:判断一个元素是否属于一个序列。

objnotinsequence: 判断一个元素是否不属于一个序列。


------------------------------------

字符串


字符串的值不能改变,只能是重新赋值,创建一个新的字符串。

字符就是长度为1的字符串,通过下标和切片访问。


删除字符串:

strname= “”

delstrname


'string' 所有的空格和制表符都按照原样输出,需要转义。

string“ 和单引号一样。

‘’‘/”””strings’‘’/”””指定一个多行的字符串,需要转义。

R/r‘/“string’/”:自然字符串,表示‘‘或“”内部的所有内容原样输出。

U/u’/”string‘/” 表示使用unicode编码。

\ 用在‘‘/“” 引用的字符串中间进行转义,如果是行末就是续行。

\n换行

\t制表符


字符编码:

ascii:早期的编码,StringType类型

unicode:新编码,UnicodeType类型

utfunicodes或者ucs的转换格式

python中的pickle模块只支持ascii,不支持unicode


string模块的函数:

strname.capitalize()把字符串中第一个字符大写

strname.center(width)返回长度为width的新字符串,原字符串剧中,多余部分用空格填充。

strname.count(pattern,beg=0,end=len(string))返回patternstrobjbegend范围内出现的次数。


------------------------------------

元祖格式:

元祖是默认的组合类型,也就是可以省略小括号。

用()括起来,用逗号,隔开。

tuplename=('val1','val2',...)

空元祖:tuplename()

一个元素的元祖:tuplename'val1')#需要一个,来区分字符串类型。


元祖是不可变得,不能对元祖元素重新赋值,只能重新赋值定义一个元祖。

dellistname #只能移除整个元祖


tuple内建模块的内建函数:

tuplename.count(value):获取value在元祖中出现的次数

tuplename.index(value[,start[, stop]]):返回指定范围内value的第一个索引。


------------------------------------

列表格式:

[]括起来,用逗号,隔开。

listname=['s1','s2',...]


listname[n]= value #列表可以通过索引直接更新列表中的某个元素。

dellistname[n] #根据索引移除元素

dellistname #移除整个列表

直接打印listname是按照列表格式原样输出,列表是可变的。


list内建模块的内建函数:

listname.count(obj):返回obj在列表中出现的次数

listname.index(value[,start [, stop]]):返回指定范围内value的第一个索引。

listname.append('item') #向列表追加元素

listname.remove(value) #移除列表中值为value的元素

listname.insert(index,obj):使得listname[index]=obj.

listname.reverse():将翻转后的结果重新赋值给列表

listname.sort():将排序后的结果重新赋值给列表

listname.extend(iterable):iterable追加到listname后面。

listname.pop([index]):移除并且返回listname[index],默认是最后一个元素。

listname.clear():移除列表中的所有元素

listname.copy():赋值列表


------------------------------------

字典格式:

也叫哈希表(hash)。

使用{}括起来,用逗号,隔开,由键和键值组成。

keyname={key1:value1,key2:value2,...}


key是不可变的,value是可变的,可以对value重新赋值。

一个key不能对应多个value,而且key必须是可哈希的。

字典通过key作为下标访问字典元素。


keyname[key]=value#增加键值对或对键值key重新赋值。

deldictname[key] #删除键为key的键值对

deldictname #删除整个字典


dict内建模块的内建函数:

dictname.clear():清空字典中的所有键值对

dictname.copy():赋值一个字典

dictname.fromkeysiterable[,value=None]:以可迭代对象作为字典的键,value作为初始的键值,返回这个新字典。

dictname.items():返回由字典中键值对组成的元祖组成的列表

dictname.keys():返回由字典中键组成的列表

dictname.values():返回由字典中键值组成的列表

dictname.get(key[,d=None]):返回key键对应的键值,否则返回d

dictname.popkey,[,d]):返回key键对应的键值,并删除这个键值对,如果key不存在需要指定默认返回值。

dictname.popitem():以元祖的形式返回一个键值对,并删除这个键值对。

dictname.setdefault(key[,d]=Node)key存在就返回key的键值对,否则新增键值对key=d

dictname.update[E,] **F):


------------------------------------

集合:


set()/set(iterable):创建可变集合

frozenset()/frozenset(iterable):创建不可变集合


objinset/frozenset:判断一个元素是否属于一个集合。

objnotinset/frozenset: 判断一个元素是否不属于一个集合。


delset/frozenset :删除集合


集合操作符:

==/ != 等价/不等价

<<= 子集

>>= 超集


集合运算:

a| b 并集

a& b 交集

a- b 相对补集,得到只属于a,不属于b的元素的集合,也就是a减去ab的交集。

a^ b 对称差分,得到只属于a和只属于b的元素的集合,也就是ab的交集的补集。

可变集合和不可变集合混合运算,结果和左边的集合类型相同。


内建模块set和内建模块frozenset的共同部分:

a.copy():赋值集合a

a.isdisjoint(b):如果ab交集为空返回True

a.issubsetb):如果ab的子集返回True

a.issuperset(b):如果ab的超集返回True

a.union(b):并集,返回ab的并集。

a.intersectionb):交集,返回ab的交集。

a.difference(b):相对补集,返回只属于a不属于b的元素。

a.symmetric_differenceb):对称差分,返回是ab的元素,但不是ab交集中的元素的集合。


内建模块set中的内建函数:只适用于可变集合:

set.update(b):setb的并集赋给set

set.intersection_update(b):将setb的交集赋给set

set.difference_update(b):将setb的相对补集赋set

set.symmetric_difference_updateb):将setb的对称差分赋给set

set.add(obj):将obj追加到集合set中。

set.remove(obj):将obj从集合set中删除,如果不存在引发KeyError错误。

set.discard(obj):将obj从集合set中删除,如果不存在忽略。

set.clear():清空集合

set.pop():从集合set中弹出任意一个元素,返回这个值并从集合中它。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值