Python基础数据类型详解及操作方法
创始人
2025-01-01 08:25:51
0 次浏览
0 评论
Python中的几种数据类型
一般来说,Python中的数据类型分为以下几种:Number(数字)包括int、long、float、complexString如:hello、hello,helloList(列表)如:[1,2,3],[1,2,3,[1,2,3],4]字典(dictionnaire)例如:{1:nihao,2:hello}元组(tuple)例如:(1,2,3,abc)Bool(Boolean)包括true和falsePython不需要像其他高级语言那样主动声明变量类型。例如:变量i的值为100。
数字int和long应该组合在一起的原因是int和long。
原因是python3.x之后就不区分int和long了,统一使用int。
python2.x还是不一样。
以Python2.7为例:i=10type(i)i=10000000000type(i)那为什么10是int,10000000000是long。
当然这里指的是int类型的最大值是231-1,也就是2147483647,可以使用sys.maxint。
2**31-12147483647Lsys.maxint2147483647为什么上面的值是用long类型的方法计算出来的(数字后面加'L'表示long类型),因为2**31的值是2147483648,是long类型。
long类型减1,结果仍然是long,但实际上int类型的最大值为2147483647type(2147483647)type(2147483648)typefloat类型与其他语言中的float基本相同带小数点的钝数,精度与相关引擎相同。
例如:i=0000.1212type(i)complex:复数类型。
声明字符串类型字符串有三种方式:单短语、双逗号和三逗号(包括三个单逗号或三个双逗号)。
例如:str1=helloworldstr2=helloworldstr3=helloworldstr4=helloworldprintstr1helloworldprintstr2helloworldprintstr3helloworldprintstr4helloworldPython中的字符串有两种数据结构:str类型和unicode类型。
Str使用ASCII字体,这意味着它不能表示中文,也可以表示中文字符。
和其他语言一样,Python中没有char类型像C语言中,或者单个字符串,如果要声明unicode类型,就必须在字符串前加上u或U,例如:str1=helloprintstr2=uChina当字符串操作频繁时,会出现很多问题。
通过字符串描述的问题,在用python报告有关问题描述的过程中,我们经常会发现三种描述:ASCII、Unicode和UTF-8详细介绍请看这篇文章。
我简单的理解是ASCII适合英文字符,Unicode适合非英文字符(如中文、韩文等),utf-8是推荐的存储和传输格式。
取消字符编码(以8位为编码单位)。
例如:u=u汉printrepr(u)#uu6c49s=u.encode(UTF-8)printrepr(s)#xe6xb1x89u2=s.decode(UTF-8)printrepr(u2)#uu6c49解释:字符串"Chinese"声明unicodes,其unicode描述符为“u6c49”,转换为utf-8后,其描述符变为“xe6xb1x89”。
编码经验总结:1.声明python头文件中描述的形式;#-*-编码:utf-8-*-2。
3.对于文件读写操作,建议使用codecs.open()而不是内置的open()。
使用任何形式即可阅读;在以ANSI格式保存的文本文件中使用更多单词“汉字”,如果在pydev中打印),会出现插值字符或异常,因为编解码器根据文本本身描述的格式读取内容:=codecs.open(d:/test.txt)content=f.read()f.close()printcontent可以更改如下(仅限中文):#-*-coding:utf-8-*-importcodecsf=codecs.open(d:/test.txt)content=f.read()f.close()ifisinstance(content,unicode)集合的索引类型可修改。
它的元素可以是基本形状,如数字和字符串或对象集合,例如表、元组、字典,甚至自定义类型。
定义如下:nums=[1,2,3,4]genus(nums)printnums[1,2,3,4]strs=[hello,world]printstrs[hello,world]lst=[1,helloFalse,nums,strs]type(lst)printlst[1,hello,False,[1,2,3,4],[hello,world]]通过listlast访问列表元素one.lst=[1,2,3,4,5]printlst[0]1printlst[-1]5printlst[-2]4支持绑定操作,可以访问某个范围内的元素,支持不同的大小级别,并且用于插入数据操作可以使用受限示例nums=[1,2,3;4,5]printnums[0:3]#[1,2,3]#前三个元素printnums[3:]#[4,5]#后两个元素printnums[-3:]#[3,4,5]#最后三个元素不送入nums[-3:0]numsclone=nums[:]printnumsclone#[1,2,3,4,5]复制操作printnums[0:4:2]#[1,3]步骤大小为2nums[3:3]=[三,四]#[1,2,3,三,四,4,5]插入到III和IV数字之间[III,5]=[]#[1,2,3,4,5]并将第4、5个元素替换为[]即删除[三,四]以支持加法和乘法运算lst1=[hello,world]lst2=[good,time]printlst1+lst2#[hello,world,good,time]printlst1*5#[hello,world,hello,world,hello,world,hello,world,hello,world]支持的列表methods,您可以使用此方法查看列表中支持哪些公共方法:[xforxindir([])ifnotx.startswith(__)][append,count,extend,index,insert,pop,remove,reverse,sort]defcompare(x,y):return1ifxylese-1#[append]在列表末尾插入元素lst=[1,2,3,4,5]lst.append(6)printlst#[1,2,3,4,5,6]lst.append(hello)printlst#[1,2,3,4;5,6]#[pop]删除一个元素,并返回该元素的值Lastx=lst.pop()printx,lst#hello[1,2,3,4,5,6]#最后一个元素被删除默认x=lst.pop(0)printx,lst#1[2,3,4,5,6]删除第一个元素#[number]重复元素p几次。
rintlst.count(2)#1#[extend]该方法与“+”操作扩展列表的区别在于“+”操作修改了原始列表,而“+”操作创建了一个新列表lstextend=[hello,world]lstntlst#[2,3,4,5,6,hello,world]从lst延伸到外部printlst.index(hello)#V#printlst.index(kitty)#ValueError:抛出异常kittyisnotinlist#[remove]从列表中删除一个元素。
printlst#[2,3,4,5,6,world]helloremove#lst.remove(kitty)#ValueError:list.remove(x):xnotinlist#[reverse]意思相反,就是排列列表元素顺序相反。
返回值printlst#[2,3,4,5,6,world]lst.reverse()printlst#[2,3,4,5,6,world]#[sort]排序printlst#由于与上面相反,当前排序为[world,6,5,4,3,2]lst.sort()printlst#Postsorting[2,3,4,5,6,world]nums=[10,5,4,2,3]printnums#[10,5,4,2,3]nums.sort(compare)printnums#[2,3,4,5,10]迭代器索引已转换用另一个方法调用迭代器对象(该方法不需要调用参数)。
当调用next方法时,迭代器返回下一个值。
如果调用next方法但迭代器不返回任何内容,则会引发StopIteration。
表中迭代器的优点是,使用迭代器不会一次性添加到内存列表中,而是可以顺序访问数据。
再次使用这个方法可以看到公共迭代器方法:lst=[1,2,3,4,5]lstiter=iter(lst)print[xforxindir(numiter)ifnotx.startswith(__)][next]正确的是,只有下一个方法的工作原理如下:lst=[1,2,3,4,5]lstiter=path(lst)foriinrange(len(lst)):printlstiter.next()#打印按顺序输入的12345个元组作为列表。
元组声明如下:lst=(0,1,2,2,2)lst1=(hello)lst2=(hello)printtype(lst1)#如果只有一个元素,后面加一个逗号,否则printtypewillbestr(lst2)#字典类型字典类型是键值对的集合,如Dictionarydict1={}printtype(dict1)#声明空字典dict2={name:kitty,age:18}#直接声明Dictionary类dict3=dict([(name,kitty),(age,18)])#使用上述函数将列表转换为字典dict4=dict(name=catty,age=18)#使用上述函数通过关键字参数将列表转换为字典dict5={}.fromkeys([name,age])#使用fromkey函数从键值列表生成字典。
[添加元素]dict1={}dict1[mykey]=helloworld#直接给不存在的key赋值,立即添加新元素dict1[(my,key)]=hockeyisatuple#字典的key可以是任何不可变类型,例如数字;字符串和元组Expect#[数字键值对]printlen(dict1)#[检查是否包含键]printmykeyindict1#True检查是否包含键为mykey的键值对printhelloindict1#False#[删除]deldict1[mykey]#删除键mykey键值对继续使用上面的方法查找字典的所有公共方法:[xforxindir({})ifnotx.startswith(__)][打开,示例,来自键,has,has_key,items,iterems,iterkeys,itervalues,keys,pop,popitem,setdefault,更新,值,viewitems,viewkeys,viewvalues]dict.clear()删除字典中的所有元素dict.copy()返回字典的副本dict.get(key,default=None)返回对应的值为所说字典中的key返回默认值(注意def参数不是默认错误值)称为.has_key(keys)如果字典中存在该key则返回true,否则返回false。
但它仍然提供了一个工具。
dict.items()返回包含字典中元组(键,值)对的列表dict.keys()返回包含字典中键的列表dict.values()返回包含字典中所有值的索引字典dict.iter()方法iterates()、iterkeys()和iterables()与其非迭代对应项相同,只不过它们接受迭代器而不是索引。
dict.pop(key[,default])与get()方法类似。
抛出一个KeyError。
dict.setdefault(key,default=None)与set()方法类似。
dict.setdefault(key,default=None)与set()方法类似。
布尔类布尔类(true和false)与其他语言中的布尔类基本相同。
下面列出了典型的布尔值printbool(0)#Falseprintbool(1)#Trueprintbool(-1)#Trueprintbool([])#Falseprintbool(())#Falseprintbool({})#Falseprintbool()#Falseprintbool(None)#错误的
python基本数据类型
Python中有8种主要数据类型:数字、字符串、列表、元组、字典、集合、布尔值、无值)。上一篇:
Python证书种类及考取费用一览
相关文章
C语言编程教程:高效实现两个整数的求和
2024-12-29 02:10:09Python整数转字符串:方法与技巧详解
2025-01-01 03:31:40Python求和教程:轻松使用sum()...
2024-12-17 22:58:12Python去重攻略:高效处理列表重复元...
2024-12-17 13:02:22JAVA编程:输出1-100之间素数的简...
2025-01-12 13:30:42Python try语句:掌握try-e...
2024-12-22 16:01:11Python def 关键字详解:函数定...
2025-01-05 18:00:06掌握Python文本操作:多行字符串与子...
2024-12-26 14:29:32Python编程:绘制爱心与爱情代码教程
2024-12-15 13:06:17Python保留小数位:3种方法轻松实现...
2024-12-24 15:04:09最新文章
12
2025-01
12
2025-01
12
2025-01
12
2025-01
12
2025-01
12
2025-01
12
2025-01
12
2025-01
12
2025-01
12
2025-01
热门文章
1
Python中的format()方法:字...
formatformat在python中的含义2222.22E+00Format...
2
Python编程入门:全面解析Pytho...
python的基本语法基本的Python语法如下:1.变量的定义。在编程语言中,...
3
Python字符串大小写转换方法全解析
python中字母的大小写转换怎么实现?在Python中,大小写转换由内置函数处...
4
Python字典:轻松获取最小值键与计算...
python在一个字典里,返回值最小元素对应的键,救解在Python字典中,如果...
5
Python字符串去重空格:strip(...
Python去除字符串中空格(删除指定字符)的3种方法在Python编程中,处理...
6
Python数组元素数量计算技巧分享
Python输出数组有多少个元素?简介:在本文中,首席CTO笔记将向您介绍Pyt...
7
简述python中pass的作用
pass语句的作用在许多编程语言中,包括Python;PASS语句用于在代码块中...
8
Python def 关键字详解:函数定...
def是什么意思编程?戴夫是什么意思?def是Python中的函数定义关键字,用...
9
python不区分大小写的方法
Python字符串不区分大小写在Python中,字符串操作默认区分大小写。但有时...
10
Python字典操作全解析:添加、修改、...
Pythondict字典基本操作(包括添加、修改、删除键...