计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值。但是,计算机能处理的远不止数值,还可以处理文本、图形、音频、视频、网页等各种各样的数据,不同的数据,需要定义不同的数据类型。
学习编程,认识不同编程中的数据类型是必要的,在Python中,能够直接处理的数据类型有以下几种:
整数
整数和我们生活中定义的整数是一个概念,例如:1
,2
,3
,10
,100
,1000
,-1000
等等,都是整数,Python可以处理任意大小的整数。
对于整数,除了生活中常用的十进制以外,计算机由于使用二进制,所以,在计算机中也常用二进制或者十六进制表示整数。相比十进制数,在Python中使用以下方式表示二进制数和十六进制数。
二进制数只使用数字0、1表示,在Python中,二进制整数使用前缀0b
表示,比如:0b0110
,0b1100
。
十六进制数除了0~9十个数字以外,还使用a、b、c、d、e、f,在Python中,十六进制使用前缀0x
,比如:0x12ef
,0xde2431af
。
十进制数、二进制数和十六进制数之间是可以相互转换的,如果感兴趣的同学,可以学习《编程必备基础知识》了解更多转换的细节。
浮点数
浮点数对应我们生活的是小数,例如:0.1
,0.5
, 12.34
, 3.1415926
等,都是浮点数。
为什么小数在计算机领域被称为浮点数呢?这是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的(浮动的),比如,1.23x10^9
和12.3x10^8
是相等的,因此称为浮点数。
浮点数可以用数学写法,如1.23
,3.14
,-9.01
。但是对于很大或很小的浮点数,就必须用科学计数法表示,在Python中,把10用e替代,比如:1.23x10^9
就是1.23e9
,或者12.3e8
,0.000012
可以写成1.2e-5
,同学可以自行举出更多的例子。
这里有必要提醒一点就是,整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的,而浮点数运算则可能会有四舍五入的误差,如何检验,可以在Python终端中输入以下内容0.1 + 0.2
,看看可以得到你期望的结果0.3
吗?真实结果可能让你失望了。
同样的,这里涉及的原理同学也可以学习上面提到的课程进行进一步原理层面的理解。
字符串
字符串对应生活中的就是非数字类型的内容,比如一个句子,一段话,在Python中就是字符串,在Python中,字符串是以''或""括起来的任意文本,比如'abc',"xyz"等等。请注意,''或""本身只是一种表示方式,不是字符串的一部分,因此,字符串'abc'只有a,b,c这3个字符。
比如之前练习过的第一个Python程序:print('Hello World')
,其中的Hello World
就是字符串。
布尔值
布尔值对应于生活中的就是对
和错
,在计算机的世界里,大部分判断都是非错则对的,布尔值和布尔代数的表示完全一致,一个布尔值只有True、False两种值,要么是True,要么是False,在Python中,可以直接用True、False表示布尔值(请注意大小写,不需要使用字符串符号括起来),也可以通过布尔运算计算出来。
布尔值可以用and
、or
和not
运算(注意and
,or
,not
都是Python语言本身的关键字)。
and
运算是与运算,只有所有都为 True,and运算结果才是 True。
or
运算是或运算,只要其中有一个为 True,or 运算结果就是 True。
not
运算是非运算,它是一个单目运算符,把 True 变成 False,False 变成 True。
空值
空值是Python里一个特殊的值,用None
表示。
注意,None和0是不一样的,None不能理解为0,因为0是有意义的,比如我有0个苹果表示我没有苹果,0表达的是数值0的意思,而不能表示为我有None个苹果,None是一个特殊的空值。
此外,Python还提供了列表、字典等多种数据类型,还允许创建自定义数据类型,我们后面会展开介绍。
请判断以下数据分别属于什么数据类型:
3.1415926
'Learn Python in imooc.'
100
0b1101
可以使用print()将结果打印出来
请验证,完成请求
由于请求次数过多,请先验证,完成再次请求
打开微信扫码自动绑定
绑定后可得到
使用 Ctrl+D 可将课程添加到书签
举报