python语言的内置对象类型_Python内置对象类型

news/2024/7/6 4:45:13

核心数字类型:

数字:int,long,float,complex,bool

字符:str,unicode

列表:list

字典:dict

元组:tuple

文件:file

其他类型:集合(set),frozenset,类型,None

其他文件类工具:pipes,fifos,sockets.

类型转换:

str(),repr()或format():将非字符型数据转换成字符;

int():转换为整数

float():转换为浮点数

list(x):可以把字符串x转换为列表,

tuple(x):将字符串x转换为元组;

set(x):将字符串转换为集合.

dict(d):创建字典,其d必须是[(key,value),(key,value)]的元组序列:

chr(x):将整数转为字符.

ord(x):将字符转换为整数值.

hex(x):将整数转换为16进制字符.

bin(x):将整数转换为2进制字符.

数字类型:

Python的数字字面量:布尔型,整数,浮点数,复数

True:1

False:0

序列类型:

字符类型:

字符串字面量:把文本放入单引号、双引号或三引号中:

如果要使用unicode编码,则在字符之前使用字符u进行表示,如u"xxx"

适用于所有序列的操作和方法:

s[i]:索引运算符

s[i:j]:为切片运算符,s[i:j:stride]为扩展切片运算符

min(s)和max(s)只适用于能够对元素排序的序列

sum(s)只适用于数字序列

all(s)检查s中的所有项是否为True

any(s)检查s中的任意项是否为False

>>> str="9876544531"

>>> min(str)

'1'

>>> max(str)

'9'

用于字符串的操作:

Python2 提供两种字符串对象类型:

字节字符串:字节序列

unicode字符串:Unicode字符序列

Python可以使用32bit整数保存Unicode字符,但此为可选特性.

>>> str2="hellow"

>>> str2.islower()

True

>>> str2.isupper()

False

>>> str2.upper()

'HELLOW'

capitalize 字符串的首字母大写s.capitalize()

s.index(sub[,start[,end]]) 找到指定字符串sub首次出现的位置,否则报错

s.join(t) 使用s作为分隔符连接序列t中的字符串

s.lower() 转换为小写形式

s.split([sep[,maxsplit]]) 使用sep作为分隔符对一个字符串进行划分。maxsplit是划分的最大次数

s.strip 删掉chrs开头和结尾的空白或字符

s.upper()将一个字符串转换为大写形式

replace('old','new') 将所有旧的字符串替换为新的字符串

str="hello world"

l2=list(str)

print l2

str3=''.join(l2)#使用空白作为分隔符将list列表组合起来.

print str3

str="hello world"

print str.replace('hello','HELLO')

split 以.为分隔符,对字符串进行操作.

str="www.baidu.com"

print str.split('.')

['www', 'baidu', 'com']

s.strip()用来删除s字符串左右两边的空白字符的.

str="   hello    "

print str.strip()

hello

列表:

容器类型:

任意对象的有序集合,通过索引访问其中的元素,可变对象,

异构,任意嵌套

支持在原处修改:

修改指定的索引

del() 删除列表中的元素

append() 新增列表中的元素

str=['1','a','b','7']

del(str[1:])

print str

结果:[1]

str=['1','a','b','7']

str.append("hello")

print str

结果:['1', 'a', 'b', '7', 'hello']

count() 获取指定列表中元素出现的次数

str=['1','a','b','7']

print str.count('a')

结果:1

extend() 列表扩充,将原先列表中的元素扩充进来.

str=['1','a','b','7']

l1=['x','y','z']

str.extend(l1)

print str

结果:['1', 'a', 'b', '7', 'x', 'y', 'z']

append() 新增列表元素元素

str=['1','a','b','7']

l1=['x','y','z']

str.append(l1)

print str

结果:['1', 'a', 'b', '7', ['x', 'y', 'z']]

打印列表中某元素索引的位置.

>>> print str

['1', 'a', 'b', '7', 'x', 'y', 'z']

>>> str.index('a')

1

s.insert 在索引的位置添加新的字符串.

>>> str.insert(1,"ccc")

>>> print str

['1', 'ccc', 'a', 'b', '7', 'x', 'y', 'z']

s.pop弹出某个索引对应的元素,默认为弹出最后一个列表的元素.

弹出以后将返回这个元素.

>>> print str

['1', 'ccc', 'a', 'b', '7', 'x', 'y', 'z']

>>> str.pop(2)

'a'

>>> str.pop()

'z'

s.remove()删除列表中指定元素的值

>>> str.remove('y')

>>> print str

['1', 'ccc', 'b', '7', 'x']

>>> str.remove('b')

>>> print str

['1', 'ccc', '7', 'x']

s.sort排序,正序;在原处修改,没人任何返回.

>>> print str

['1', 'ccc', '7', 'x']

>>> str.sort()

>>> print str

['1', '7', 'ccc', 'x']

s.reserse 逆序,倒序

>>> print str

['1', '7', 'ccc', 'x']

>>> str.reverse()

>>> print str

['x', 'ccc', '7', '1']

l1+l2:合并两个列表,返回一个新的列表,不会修改原列表.

>>> l1=[1,2,3]

>>> l2=[7,8,10]

>>> l1+l2

[1, 2, 3, 7, 8, 10]

l1 * N:把l1重复N次,返回一个新列表.

>>> l1=[1,2,3]

>>> l1 * 3

[1, 2, 3, 1, 2, 3, 1, 2, 3]

in:成员关系判断字符

用法:某个元素in 某个容器

>>> 2 in l1

True

>>> 2 in l2

False

not in :判断某个元素不在某个列表中.

列表解析:[]

深度复制列表中的元素,内存中所引用的对象发生变化。

copy.deepcopy()

实例:

import copy

l1=[1,2,3]

l2=copy.deepcopy(l1)

print l2

l1.append(4)

print l1

print l2

l2等于l1列表中的所有元素.

l2=l1[:]

元组:

表达式符号:()

容器类型

任意对象的有序集合,通过索引访问其中的元素,不可变对象,长度固定.

虽然元组本身不可变,但如果元组内嵌套了可变类型的元素,那么此类元素的修改不会返回新元组.

列子:

l1=(1,2,3,['a','b','c'])

print l1

print l1[3]

l1[3].pop()

print l1

字典:dict

字典在其他编程语言中又称作关联数组或散列表;

通过键实现元素存取;无序集合;可变类容器,长度可变,异构,嵌套.

{key:value1,key2:value2}

{}空字典

l1={"x":['a','b','c'],"y":32}

print l1["x"]

结果为:['a', 'b', 'c']

对于字典的引用,需要使用key调用对应的值;

字典也支持切片:

l1={"x":['a','b','c'],"y":32}

print l1["x"][1:]

['b', 'c']

len()返回字典中元素的个数

l1={"x":['a','b','c'],"y":32}

print len(l1)

结果为:2

字典支持修改,元素可变:

l1={"x":['a','b','c'],"y":32}

print id(l1)

print l1["y"]

l1["y"] = 504

print l1

print id(l1)

dicr.copy()复制copy,相当于完全copyl1

l1={"x":['a','b','c'],"y":32}

print l1

l2=l1.copy()

print l2

dict.get()获取指定key的value值.

l1={"x":['a','b','c'],"y":32}

print l1.get("x")

查看字典中有没有x这个key

l1={"x":['a','b','c'],"y":32}

print l1.get("x")

print l1.has_key("x")

dict.get()和dict[s]区别在于:

dict.get()获取字典中就算没有这个值也不会报错,但是要是dict[]这个值就会直接报错.

dict.items将字典中的key:value以列表元组的形式拆开.

l1={"x":['a','b','c'],"y":32}

print l1.items()

结果:[('y', 32), ('x', ['a', 'b', 'c'])]

l1={"x":['a','b','c'],"y":32}

print l1.items()

变量解包,元组支持解包,字典直接不支持解包.

t1,t2=l1.items()

print t1,t2

[('y', 32), ('x', ['a', 'b', 'c'])]

('y', 32) ('x', ['a', 'b', 'c'])

m1,m2={'x':1,'y':2}

print m1,m2

结果:y x  可以看到字典时无序的,不支持直接解包.

dict.keys()是key组成的列表,dict.values()字典值组成的列表.

l1={'x':21,'y':5}

print l1.keys()

print l1.values()

dict.update()合并字典

l1={'x':21,'y':5}

l2={'a':21,'b':7,'x':32}

l1.update(l2)

print l1

dict.next()迭代.

l1={'x':21,'y':5}

i1=l1.iteritems()

print i1.next()

zip函数:快速构建字典的方式

print zip('abcd','123')

print dict(zip('abcd','123'))

结果:

[('a', '1'), ('b', '2'), ('c', '3')]

{'a': '1', 'c': '3', 'b': '2'}


http://www.niftyadmin.cn/n/3661248.html

相关文章

施密特正交化计算器_线性代数20——格拉姆-施密特正交化

标准正交向量有一堆向量, ,它们两两正交,这意味着这些向量满足:一个向量没法和自己正交,在i j时,让 ,这相当于 模长等于1:向量的转置乘以自身等于1,意味着这个向量是单位…

学习Extjs与RoR的集成有感

2007年05月10日 22:25:00 今天除了跟两个项目的负责人讨论他们的开发过程改进外,其余时间就是在学习Extjs,对我来讲,最好的办法,就是在PPA系统中中应用它们,幸好,Extjs现在已经可以与RoR应用集成在一起了。…

python中int的作用_python中int的功能介绍

int的功能介绍 1. 绝对值 x.__abs__()等同于abs(x) 2. 加法 x.__add__(y)等同于xy 3. 与运算 x.__and__(y)等同于x&y 4. 布尔运算 x.__bool__() 5. 商和余数 x.__divmod__(y)等同于divmod(x,y) 6. 等于 x.__eq__(y)等同于xy 7. 整数转为为浮点数 x.__float__()等同于float(…

配置管理计划的新设想

2007年05月08日 21:37:00 刚刚过节回来,XY便找我讨论配置管理计划,我有点纳闷,节前不是已经讨论清楚了吗?老大提了个新的设想,得到了很多人的拥护,所以原来的被推翻了。XY找纸画给我看,其实变化…

db2 删除schema中所有表_卓象程序员:MySQL查看数据库表容量大小的方法示例

information_schema简介 在MySQL中,把 information_schema 看作是一个数据库,确切说是信息数据库。其中保存着关于MySQL服务器所维护的所有其他数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权 限等。 SCHEMATA表&am…

部门预算进行时

2007年04月10日 21:27:00 首先应该承认,自己并不是甚至自己也不希望是一个很好的部门管理者,准确地说,我甚至一直在逃避做中层领导,这令我的室友兼好友大为困惑:"为什么不想当官呢?",…

java 字节数组 byte[] 复制方法_1分钟学习Java中数组快速复制

Java System类提供了的arraycopy快速复制数组方法。具体函数如下:public class ArrayCopyTest { public static void main(String[] args) { int[] arr {1, 2, 3}; int[] destArr new int[arr.length]; System.arraycopy(arr, 0, destArr, 0, arr.le…

combobox添加下拉内容_仅添加了一个小小的边框,Word文档立即高大上!

日常图文进行排版的时候,为文档添加一些边框样式进行美化,会使整体排版的质感会迅速上升,同时还能“框”住文档内容,让读者的视线聚焦在内容上,避免阅读枯燥。那么,今天在这里给大家分享的Word小技巧&#…