计算机最初被设计出来就是用来进行数学计算的,因此,计算机程序理所当然地可以处理各种数值。但是,计算机能处理的远不止数值,还可以处理文本、图形、音频、视频、网页等各种各样的数据,不同的数据,需要定义不同的数据类型。在Python中,能够直接处理的数据类型有以下几种:
整数
Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例如:1,100,-8080,0,等等。
计算机由于使用二进制,所以,有时候用十六进制表示整数比较方便,十六进制用0x前缀和0-9,a-f表示,例如:0xff00,0xa5b4c3d2,等等。
浮点数
浮点数也就是小数。浮点数可以用数学写法,如1.23,3.14,-9.01,等等。但是对于很大或很小的浮点数,就必须用科学计数法表示,把10用e替代,1.23x10的9次方就是1.23e9,或者12.3e8,0.000012可以写成1.2e-5等等。
整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的,而浮点数运算则可能会有四舍五入的误差。
字符串
字符串是以单引号'或双引号"括起来的任意文本,比如'123',"abc"等等。请注意,''或""本身只是一种表示方式,不是字符串的一部分,因此,字符串'abc'只有a,b,c这3个字符。如果'本身也是一个字符,那就可以用""括起来,比如"I'm OK"包含的字符是I,',m,空格,O,K这6个字符。
如果字符串内部既包含'又包含"怎么办?可以用转义字符\来标识,比如:
'I\'m \"OK\"!'
注意:转义字符\可以转义很多字符,比如\n表示换行,\t表示制表符,字符\本身也要转义,所以\\表示的字符就是\,可以在Python的交互式命令行用print()打印字符串看看
print('\\\n\\')
print('\\\t\\')
布尔值
布尔值和布尔代数的表示完全一致,一个布尔值只有True、False两种值,要么是True,要么是False,在Python中,可以直接用True、False表示布尔值(请注意大小写),也可以通过布尔运算计算出来:
布尔值可以用and、or和not运算。
空值
空值是Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。
此外,Python还提供了列表、字典等多种数据类型,还允许创建自定义数据类型。
类型转换
接下来介绍几个跟数据类型紧密相关的函数:int()、float()、str().
int()的作用是将一个字符串或者一个浮点型转换为一个整数:
a='520'
b=int(a)
print(a)
print(b)
c=5.99
d=int(c)
print(c)
print(d)
i='520'
j=float(i)
print(i)
print(j)
k=520
l=float(k)
print(k)
print(l)
x=5.99
y=str(x)
print(x)
print(y)
z=str(2e12)
print(z)
获取数据类型信息
有可能需要确定一个变量的数据类型,但是Python其实提供了一个函数,可以明确的告诉我们变量的类型:type()
print('520:')
print(type('520'))
print('5.20:')
print(type(5.20))
print(2e10)
print(type(2e10))
print('True')
print(type(True))
小结
以上数据类型基本上能够满足日常工作开发,但python支持更多的数据类型,甚至可以自定义数据类型。
注意:Python的整数没有大小限制,而某些语言的整数根据其存储长度是有大小限制的,例如Java的byte,short,int,long都是有长度限制的。
Python的浮点数也没有大小限制,但是超出一定范围就直接表示为inf(无限大)。
领取专属 10元无门槛券
私享最新 技术干货