章节
问答
课签
笔记
评论
占位
占位

Python基础数据类型

计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值。但是,计算机能处理的远不止数值,还可以处理文本、图形、音频、视频、网页等各种各样的数据,不同的数据,需要定义不同的数据类型。

学习编程,认识不同编程中的数据类型是必要的,在Python中,能够直接处理的数据类型有以下几种:

整数

整数和我们生活中定义的整数是一个概念,例如:1,2,3,10,100,1000,-1000 等等,都是整数,Python可以处理任意大小的整数。

对于整数,除了生活中常用的十进制以外,计算机由于使用二进制,所以,在计算机中也常用二进制或者十六进制表示整数。相比十进制数,在Python中使用以下方式表示二进制数和十六进制数。

二进制数只使用数字0、1表示,在Python中,二进制整数使用前缀0b表示,比如:0b01100b1100

十六进制数除了0~9十个数字以外,还使用a、b、c、d、e、f,在Python中,十六进制使用前缀0x,比如:0x12ef0xde2431af

十进制数、二进制数和十六进制数之间是可以相互转换的,如果感兴趣的同学,可以学习《编程必备基础知识》了解更多转换的细节。

浮点数

浮点数对应我们生活的是小数,例如:0.1,0.5, 12.34, 3.1415926等,都是浮点数。

为什么小数在计算机领域被称为浮点数呢?这是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的(浮动的),比如,1.23x10^912.3x10^8是相等的,因此称为浮点数。

浮点数可以用数学写法,如1.233.14-9.01。但是对于很大或很小的浮点数,就必须用科学计数法表示,在Python中,把10用e替代,比如:1.23x10^9就是1.23e9,或者12.3e80.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表示布尔值(请注意大小写,不需要使用字符串符号括起来),也可以通过布尔运算计算出来。

布尔值可以用andornot运算(注意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()将结果打印出来

||
1
2
# Enter a code
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
提交
重置代码
||

请验证,完成请求

由于请求次数过多,请先验证,完成再次请求

加群二维码

打开微信扫码自动绑定

您还未绑定服务号

绑定后可得到

  • · 粉丝专属优惠福利
  • · 大咖直播交流干货
  • · 课程更新,问题答复提醒
  • · 账号支付安全提醒

收藏课程后,能更快找到我哦~

使用 Ctrl+D 可将课程添加到书签

邀请您关注公众号
关注后,及时获悉本课程动态

举报

0/150
提交
取消
全部 精华 我要发布

最新回答 / 慕运维3210173
还是整数,只不过是二进制整数

最新回答 / 去野_mEHIMY
表示开始下一句语言的符号

最新回答 / qq_安然无梦为安_03333215
不是太清楚,理论上应该是float类型导致的,但是编译器所在服务器和命令不一致,通过ai回答:Python中,当你看到0.1 + 0.2这样的浮点数加法结果在不同环境中表现出不同的行为(如在某些编辑器中显示为0.3,而在命令行或其他环境中显示为0.30000000000000004),这主要是由于浮点数的表示方式和精度问题导致的。浮点数的表示在计算机中,浮点数(如Python中的float类型)并不能精确地表示所有的小数,尤其是那些无法表示为2的幂次和有限小数之和的数。这是因为在计算机内部,浮点数通常使用...

最新回答 / 慕盖茨6304668
浮点数简单来说就是小数哇

最新回答 / 慕瓜2551243
14就是0b111015就是0b111116就是0b10000求采纳😘

最新回答 / 慕九州4285126
个人理解: 十六进制因为要满16才会进位,但是个位整数只有9个,所以在十六进制里,当一个位数的数值超过9却没大到需要进位的时候(简单来说就是在10到15),就没有办法用数字来表示,因此会用英文字母来表示。举个例子,当想用十六进制来157,会用0x9d,而不是9(13)

最新回答 / qq_慕侠3121376
T = (1, 'CH', (3, 4))
print(T)

最赞回答 / weixin_慕斯卡2531182
none就相当于高中数学中的空集它是什么也不包含的0就相当于这个东西是有的只有现在为0了(纯属自己的理解,不是官方理解可能有一些问题)

最新回答 / qirenhou
i=input('请输入两位数字:')a=i[0]b=i[1]if b>a:    print(f'个位数{b}大于十位数{a}')elif b==a:    print(f'个位数{b}等于十位数{a}')else:    print(f'个位数{b}小于十位数{a}')

最新回答 / 慕工程2478192
浮点数字符串整数二进制整数

最赞回答 / 慕慕71213121
算术运算符: +, -, *, /, %, **, //比较运算符: ==, !=, >, <, >=, <=赋值运算符: =, +=, -=, *=, /=, %=, **=, //=

最新回答 / weixin_慕九州1082933
print(type(6666666666666666666666666666666666666666666666666666666666666666666666666))print(type('wdnmd'))print(type(66666666666666666666666666666666666666666666666666666666666666666666))print(type(36666666666666666666666666666666666666666666666666666))
全部 我要发布
最热 最新
只看我的

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

账号登录 验证码登录

遇到问题
忘记密码

代码语言