开发者学堂课程【Python 入门 2020年版: 不同进制数据的表示方式】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/639/detail/10240
不同进制数据的表示方式
内容介绍
一、内容介绍
二、拓展
一、内容介绍
1.Python 里的数据类型:
整型(int)、浮点型(float)、复数类型(complex)、
字符串类型(str)、布尔类型(bool)、列表(list)、
元组(tuple)、字典(dict)、集合(set)
2. 整型就是整数,计算机其实只能保存二级制
即:
数字0和1,但是生活中使用的是十进制,十进制最大单个数是9,十进制最大不是10,二级制最大数是1,不是2,为了方便数据表示,同时计算机也支持八进制和十六进制,但是八进制和十六进制存在的意义是什么呢?对于计算机而言,二进制是最快捷最方便的。
3. 现在存在 电脑可识别的二进制、八进制、十六进制以及现在我们生活中常用的十进制,在 python 中都可以表示。但在某些语言中,只能表示二进制,但是不能表示十六进制、八进制
例:
a=98
#默认数字都是十进制的数字。98就是十进制的九十八
除了表示十进制,还可以表示其他进制,比如说二进制。
b=0b101101101
#python 中 以0b 开头数字是二进制
print(b) #当使用 print 语句打印一个数字的时候,默认也是使用十进制打印输出的,打印十进制结果是365.
快速二进制转换十进制方法,使用 calc 在电脑搜索栏快速找到计算机,找到左侧三个小横杠,找到程序员型,来到以下界面:
4. 其中 HEX 代表十六进制 DEC 代表十进制 OCT 代表八进制 BIN 代表二进制,若想使用二进制计算,需要先将光标停留在 BIN 上,此时键盘只有0和1可输入,当输入101101101时,左侧全部转换成对应进制的数字。
对应的八进制是555,十进制是365,对应十六进制的是16D.
例:
c=0b121010102
#存在很大问题:因为二进制里最大的个位数是1,不能出现2,出现2后会报错。
d=0o34
#以0o 开头数字是八进制的数字,若想将其变成十进制的数字,可以在计算机中进行计算,选择八进制换算法,输入34,得出十进制结果是28。
print(d) #打印结果是28
X=0o78
#会报错,因为八进制最大个位数是7,不可以出现比7大的数,出现9更会报错。
E=0x23a
#以0x 开头的数字是十六进制,在计算器中选择16进制计算法,输入23,得出十进制结果为35
print(E) #转换为十进制是35
#十六进制最大值是15,但是不能用15进行直接表示,十六进制是0-9,和 a-f,用 a 表示10,f表示15
例:d=0x2a #其中 a 表示的是10
Print(d) #用计算器算出来所打印出结果是42
二、拓展(可学)
Python2和 Python3的区别:
1. 八进制数据表示方式:
(1)python2里,0o开始的数字是八进制,还可以0开始的数字也是八进制,032和0o32在 python2都是支持的,/079是十进制的79,以0开头并没有认为其是八进制,但是八进制中最大值是7,所以认为079是十进制,有歧义,所以慢慢在 python3中遗弃了。
(2)Python3中,八进制只能使用0o开头,python3中将其废弃掉是因为过于混乱
(3)在 Python3写例如:m=045 时会报错,不允许这种写法存在了。