Python数据类型全解析:从基础到应用

创始人
2024-12-22 03:20:01
0 次浏览
0 评论

Python中的几种数据类型

一般来说,Python中的数据类型分为以下几类:Number(数字)包括int、long、float,complexString(字符串)如:hello、hello,helloList(列表)如:[1,2,3],[1,2,3,[1,2,3],4]有tionary(字典)eg:{1:nihao,2:hello}Tuple(元组)eg:(1,2,3,abc)Bool(布尔)包括True和False由于Python中一切都是对象,因此Python不需要像其他一些高级语言那样主动声明变量的类型。
例如,我想给变量i赋值100。
Python实现为:i=100。
C#实现为:inti=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类型,减去1fromlong,结果仍然是long,但实际上int类型的最大值是2147483647type(2147483647)type(2147483648)浮点类型。
float类型与其他语言中的float类型基本相同,说白了就是带小数点的数字,其精度与相关机器的精度相同。
例如:i=10000.1212type(i)complex:组合类型具体含义和用法请查看相关文档。
声明字符串类型的字符串有三种方式:单引号、双引号和三引号(包括三个单引号或三个双引号)。
例如:str1=helloworldstr2=helloworldstr3=helloworldstr4=helloworldprintstr1helloworldprintstr2helloworldprintstr3helloworldprintstr4helloworldPython中的字符串有两种数据类型:str类型和unicode类型。
str类型使用ASCII编码,这意味着它不能表示中文。
unicode类型使用unicode编码,可以表示任何字符,包括中文和其他语言。
Python中没有像C中那样的字符类型,即使单个字符也是字符串类型。
字符串默认使用的ASCII编码如果想声明为Unicode类型,需要在字符串前面添加u或U。
例如:str1=helloprintstr1hellostr2=uChinaprintstr2China由于项目中经常会出现对字符串的操作,而且由于字符串编码问题而产生的问题也很多,所以我们先来说说字符串编码问题。
在使用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的解释:声明一个字符串Unicode“中文”,它的Unicode编码是“u6c49”,经过UTF-8转码后,变成它的编码是“xe6xb1x89”。
编码经验总结:1、在python文件头部定义编码格式#-*-coding:utf-8-*-2将字符串统一为Unicode类型,即在文件前面添加u或U细绳;3.对于文件读写操作,建议使用codecs.open(),而不是内置的open()。
遵循写作时应使用的格式原则。
只需使用您想要阅读的格式即可;假设一个以ANSI格式保存的文本文件中有几个单词“汉字”,如果直接使用下面的代码在GUI或者IDE中打印(例如在subtext中,或者在pydev中打印),会出现乱码否则会出现异常,因为编解码器会按照相同的文本编码格式读取内容:f=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):printcontent.encode(utf-8)printutf-8else:printcontent.decode(gbk).encode(utf-8)List类List类型是可编辑的集合类型。
它们的对象可以是基本类型(例如数字和字符串),也可以是集合对象(例如列表、元组和字典),甚至可以是自定义类型。
定义如下:nums=[1,2,3,4]type(nums)printnums[1,2,3,4]strs=[hello,world]printstrs[hello,world]lst=[1,hello,false,numbers,strs]type(lst)printlst[1,hello,False,[1,2,3,4],[hello,world]]通过以下方式访问列表元素指数。
索引从0开始,支持负索引Lastone.lst=[1,2,3,4,5]printlst[0]1printlst[-1]5printlst[-2]4支持分区操作,可以访问其中的元素arange支持不同的步长,可以使用分区插入数据和复制操作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]在3和4之间输入数字[3:5]=[]#[1,2,3,4,5],将第四个和第五个元素替换为[],即删除[三、四]以支持加法和乘法运算lst1=[你好,世界]lst2=[好,时间]printlst1+lst2#[你好,世界,好,时间]printlst1*5#[你好,世界,你好,世界,你好,世界,你好,世界,你好,world]列表支持的公共方法,可以使用以下方法查看列表支持的公共方法:[xforxindir([])ifnotx.startswith(__)][append,count,extend,index,insert,pop,remove,reverse,sort]defcompare(x,y):return1ifxyelse-1#[append]在列表末尾插入第一个元素=[1,2,3,4,5]lst.append(6)printlst#[1,2,3,4,5,6]lst.append(你好)printlst#[1,2,3,4,5,6]#[pop]删除一个元素并返回默认后备索引值到最后一个topx=lst.pop()printx,lst#hello[1,2,3,4,5,6]#最后一个默认删除元素x=lst.pop(0)printx,lst#1[2,3,4,5,6]删除第一个元素#[count]返回该元素出现的次数printlst.count(2)#1#[extend]区别该方法与“+”操作扩展列表的区别在于,该方法改变了原来的列表,而“+”操作会生成一个新的列表lstextend=[helloworld]extending(lstextend)pri做ntlst#[2,3,4,5,6,hello,world]基于lst扩展lstextend。
#[index]返回给定值第一次出现的索引位置,如果没有找到,会抛出异常printlst.index(hello)#5#printlst.index(kitty)#ValueError:Anexceptinkittyisnotinlist#[remove]删除列表中的项目如果要删除的项目不存在,则不会抛出lst.remove(hello)返回值。
printlist#[2,3,4,5,6,world]欢迎已删除#lst.remove(kitty)#ValueError:list.remove(x):xnotinlist#[reverse]表示反转,正在排列列表项目倒序排列,不打印返回值t#[2,3,4,5,6,world]lst.reverse()printlst#[2,3,4,5,6,world]#[sort]printlst#sort由于上面的反射,排序当前是[world,6,5,4,3,2]lst.sort()printlst#aftersort[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方法时,迭代器返回下一个值。
如果调用next方法但迭代器没有返回值,则会引发StopIteration异常。
迭代器相对于列表的优点是,使用迭代器不需要将列表一次性全部添加到内存中,而是可以顺序访问列表数据。
还是用上面的方法显示迭代器的公共方法:lst=[1,2,3,4,5]lstiter=iter(lst)print[xforxindir(numiter)ifnotx.startswith(__)][next]就是这样好吧,对于迭代器来说只有一种方法,你可以这样工作:lst=[1,2,3,4,5]lstiter=iter(lst)foriinrange(len(lst)):printlstiter.next()#按顺序打印12345行类型和列表一样,它也是一个序列,不像列表中的行无法修改。
类声明如下:lst=(0,1,2,2,2)lst1=(hello,)lst2=(hello)printtype(lst1)#如果只有一个元素,后面加一个逗号,否则打印类型为str(lst2)类型#字典类型字典类型是键值对的集合,类似于Dictionarydict1={}printtype(dict1)#声明一个空字典dict2={name:kitty,age:18}#直接声明字典类型dict3=dict([(name,kitty),(age,18)])#使用听写功能将列表转换为字典dict4=dict(name=kitty,age=18)#使用dict函数通过字典的关键字参数进行转换dict5={}.fromkeys([name,age])#使用fromkeys函数从a创建字典键值列表。
对应的值为None{age:None,name:None}。
[添加元素]dict1={}dict1[mykey]=helloworld#直接给不存在的键值对赋值,立即添加新元素dict1[(my,key)]=thiskeyisatuple#字典键即可可以是任何类型不可变的,例如数字、字符串和元组wait#[键值对数量]printlen(dict1)#[检查是否包含key]printmykeyindict1#True检查是否包含在使用键mykey的键值对上printhelloindict1#False#[Delete]deldict1[mykey]#删除键mykey键值对继续使用上面的方法显示字典的所有公共方法:[xforxindir({})ifnotx.startswith(__)][清除,复制,fromkeys,获取,has_key,项目,iteritems,iterkeys,itervalues,键,pop,popitem,setdefault,update,values,viewitems,viewkeys,viewvalues]dict.clear()删除字典中的所有项目dict.copy()返回字典的副本(浅拷贝)dict.get(key,default=None)返回字典中key键对应的值。
如果字典中不存在该键,则返回默认值(注意ault的def参数默认为None)dict.has_key(key)如果字典中存在该键,则返回True,否则返回False。
Python2.2引入in和notin后,这种方法几乎被废弃,但它仍然提供了一个工作接口。
dict.items()返回一个包含字典中(key,value)对元组的列表dict.keys()返回一个包含字典中键的列表dict.values()返回一个包含字典中所有值的列表字典dict.iter字典。
iteritems()、iterkeys()和itervalues()与其非递归对应项相同,只是它们返回迭代器而不是列表。
dict.pop(key[,default])与get()方法类似,如果字典中存在keykey,则将其删除并以dict[key]形式返回。
引发KeyError异常。
dict.setdefault(key,default=None)与set()方法类似。
如果字典中不存在该键,则会通过dict[key]=default为其赋值。
dict.setdefault(key,default=None)与set()方法类似。
如果字典中不存在该键,则会通过dict[key]=default为其赋值。
布尔类型布尔类型,True和False,基本上是其他语言中的逻辑类型相同。
下面列出了典型的布尔值printbool(0)#Falseprintbool(1)#Trueprintbool(-1)#Trueprintbool([])#Falseprintbool(())#Falseprintbool({})#Falseprintbool()#Falseprintbool(None)#硬错误

python一共有多少阿拉伯数字(2023年最新整理)

简介:在本文中,首席CTO的注释解释了Python中有多少阿拉伯数字。
我希望这对您有帮助。
我们来看一下。

Python将大写中文数字转换为阿拉伯数字

通常,您可能希望将大写中文数字转换为阿拉伯数字。
比如3599元四角要折算成3569.4。
尝试创建一个像这样的函数:

上面示例的测试输出是:

将8转换为阿拉伯数字,得到8

将11转换为阿拉伯数字,得到11

将123转换为阿拉伯数字,得到123。

一千二百零三换算成阿拉伯数字是1203。

提交金额为50,600,000,000,40分阿拉伯数字为567000.4

将1369转换为阿拉伯数字为103609

123451967转换为阿拉伯数字为1234567

将1234567转换为阿拉伯数字会得到11234567

807,460,28美分。
看在真主的份上,阿拉伯数字是870460000.28。
将分转换为阿拉伯数字是1062355000508.37

Python公式int('123',16),你能告诉我这个过程

解析字符串吗?'123'为十六进制并将其转换为整数。

十六进制的123对应十进制的291。

示例:

第二个参数16表示数字12是十六进制的。

十六进制12就是十进制18

18=1*16^1+2*16^0

扩展信息:

十六进制:以16为基础的计数系统。
用数字0-9和字母a-f(或其大写字母A-F)表示0-15。

用H表示十六进制数

将十六进制数转换为十进制数

二进制,两个阿拉伯数字使用:0,1;

八进制,使用8个阿拉伯数字:0,1,2,3,4,5,6,7;

10基本系统,使用0到9的10个阿拉伯数字。

参考来源:百度百科-十六进制

什么是python编码方式?

第一种方式:ASCII码。
它是一种基于拉丁字母的计算机编码系统,主要用于显示现代英语和其他西欧语言,是目前最常见的单字节编码系统,相比国际标准IS/IEC相当。

646。

自从美国人发明计算机以来,最初编码到计算机中的字符只有127个。
也就是大小写英文字母、数字和一些符号。
该编码表称为ASCII编码。
大写A的编码为65,小写a的编码为97,最后的128称为扩展ASCII码。

第二种:GBK和GB2312。
能够在计算机上显示汉字固然重要,但由于ASCII表没有部首,单个字节最多只能表示256个字符,所以需要一个汉字到数字的映射表。
用于处理中文显然1个字节是不够的所以我们需要用2个字节来表示,所以中国书写中文是GB2312我们开发了一种编码。

第三种:Unicode。
由于每个国家都有自己的编码,冲突在所难免,于是Unicode诞生了。
现代操作系统和大多数编程语言都直接支持Unicode,因为所有语言都可以集成到一组编码中。

第四种:UFT-8。
基于经济的原则,引入了UTF-8编码,将Unicode编码转换为变长编码。
在UTF-8编码中,Unicode字符根据不同的数值大小被编码为1到6个字节,常用的英文字符被编码为1个字节,只有非常罕见的字符才被编码为4到6个字节。
字节,如果要发送的文本包含大量英文字符,可以使用UTF-8编码来节省空间。

_is_it是一个Python标识符吗?

不是。
什么是标识符?在Python中,标识符是用于区分每个对象的对象名称。
标识符由用户定义,主要用于命名变量、函数、类、模块等。

Python标识符命名约定,每种语言都有自己的标识符符号命名约定本质上是相同的。
Python中主要的标识符命名约定包括:

标识符的有效字符:26个字母(包括大小写字母a-z、A-Z)、10个阿拉伯数字(0-9)、下划线(_)。
>

标识符的第一个字符只能是字母或下划线,不能以数字开头。
;

Python标识符没有长度限制。

用户定义的标识符不能包含Python保留字或关键字,例如for或if。

Python是一种区分大小写的语言。
例如,Abc、abc和ABc是不同的标识符。

结论:以上是首席CTO注释介绍的Python中阿拉伯数字总数的信息。
如果您想了解更多有关此信息的信息,我们希望它对您有用。
收藏并关注本站。

热门文章
1
JavaScript数组转字符串:两种方... 如何 用 js把 数组 转换成 字符串这里的系列窗口为您提供了两种方式。1。使用...

2
C语言实现三角形面积计算:海伦公式应用实... 如何用c语言编写已知三角形三边求面积?已知语言C可以找到三角形三角侧的面积,如下...

3
计算机专业核心:C语言在多学科中的应用与... 哪些专业学c语言对于计算机专业来说,入门级编程语言C是用来为学生的编程打下坚实的...

4
JSF架构解析与Java学习资源分享:J... JavaServerFacesJSF体系结构JavaServerFaces(JS...

5
数据结构C语言版深度解析与C语言入门很简... 《数据结构(C语言版)》.严蔚敏吴伟民著.pdf在《数据结构(C语言版)》一书中...

6
C语言字符串常量解析:区别、用途及存储方... 什么是字符串常量字符串常量是C语言中的一种数据类型,它是由一对双引号括起来的字符...

7
C语言printf函数:格式字符串与输出... printf函数中的格式与输出项有什么关系?在C语言中,printf函数中的格式...

8
Excel技巧:计算字符串起始位置与合并... 如何计算字符串在特定文本中的起始位置,怎么计算字符串在特定文本中的起始位置您可以...

9
Python发音全解:掌握正确的发音方法... python怎么读我的很多学习编程的朋友可能都知道Python这个词,但是他们中...

10
字符与字符串:编程中的基础文本类型解析 字符串什么意思字符串是由数字、字母和下划线组成的字符串,表示为s=“a1a2…a...