您的位置:首页 > 编程语言 > Python开发

Python 数据类型

2015-11-07 12:14 465 查看
数据类型:

一、整数
_add_:数字相加
两种方式:n1=1,n2=2 n1+n2 或者 n1._add_(n2)
_abs_:绝对值
两种方式:n1=-9 -9._abs_() 或者 abs(-9)

i=int('10',base=2) base=2代表进制
常用 i=10或者i=int(10)
bit_length:最小位数

_cmp_ :比较两个数的大小。 cmp(x,y)

_coerce_:强制生成元组

_divmod_:相除,将商和余数组成元组,分页时可以使用,divmod(99,10)
_div_:除,取商
长整型和浮点型与整形类似

二、、字符串
创建: str1="alex"
str1=str("alex")
center:内容居中,空白处根据需求添加内容
count: 子序列个数。
例:name='asdfsdf'
name.count(‘a’,1,3) 子序列的个数取的范围:name[1:3] 不包含name[3]

解码 编码
gbk->unicode->utf-8
解码 编码
utf-8->unicode->gbk

>>> '刘'
'\xe5\x88\x98'
>>> str1='\xe5\x88\x98'
>>> str1.decode('utf-8')
u'\u5218'
>>> str1.decode('utf-8').encode('gbk')
'\xc1\xf5'
>>> print str1.decode('utf-8').encode('gbk')

encode编码
expandtabs 将tab键转换为空格,一个tab对应8个空格
find:寻找子序列位置,如果没找到,则异常,找到第一个子序列的位置
format:字符串格式化,动态参数,将函数式编程时细说
方法一:
name = "I am {0},age {1}"
name.format('liuyong',28)
'I am liuyong,age 28'
方法二:
name = 'I am {ss},age {dd}'
name.format(ss='liuyong',dd=28)
'I am liuyong,age 28'
方法三传列表:
name = "I am {0},age {1}"
li = ['liu','29']
name.format(*li)
'I am liu,age 29'
方法四传字典:
li = {'ss':'liu','dd':'29'}
name = 'I am {ss},age {dd}'
name.format(**li)
'I am liu,age 29'

index:查找下标,找到返回正确下标,找不到则返回错误,find查找不到返回-1

lower:让大写变小写
upper:让小写变大写
swapcase:大写变小写,小写变大写
patition:分割,分为前、中、后
replace:替换 replace(旧,新)

import string
intab = "aeiou"
outtab = "12345"
trantab = string.maketrans(intab, outtab)
str = "this is string example....wow!!!"
print str.translate(trantab, 'xm')

三、列表
li=[11,22,33]
删除:del li[22]
count:计数
extend:扩展列表
insert:插入某个位置,不指定从下标为0开始
pop:删除并返回指定下标的值,如果没有指定,则返回最后一个,删除赋值给一个变量
remove:移除,只删除第一个值,指点值,不是下标
reverse:反转,把原来的列表进行反转
sort:排序,数值是按数值比较,字母按asc码比较,汉字用unicode码比较

index:查找下标值

四、元组
count:找到某个元素出现的次数
index:找到某个元素第一次出现的次数

五、字典
get:根据key获取值,默认是None,如果没有,则返回None
,或者指定返回的内容
例如:
name = {'kk':123}
name['kk']
取得值:123
name.get('kk')
取得值:123
name.get('kka','laskd')
返回:laskd

type(name_dic) is dict 判断是不是字典,是返回True
fromkeys:
a.fromkeys([1,2,3],'t')
{1:'t',2:'t',3:'4'}

has_key:查找key是否存在在字典中
popitem:无序删除
pop:指定删除,不指定删除最后一个
setdefault:值存在,返回结果,不存在创建。
update:两个字典整合成一个,如果有相同的key值,将新的value值更新为update里面的字典的值,如果没有,就重新创建
copy:浅copy 只copy第一层,深入的不做copy
深copy:import copy
f=copy.deepcopy(c)

六、集合
去重,运算,无序
c-d 在c中不在d中
issubset:是不是子集
issupperset:是不是父集
update:更新
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: