<h1 id="数据类型" data-source-line="1">数据类型
<h3 id="存储单位" data-source-line="3">存储单位
<ul data-source-line="5">
十进制:
- 基数为0~9,逢10进1
- 示例:123 = 1 * 10^2 + 2 * 10^1 + 3*10^0 = 100 + 20 + 3 = 123
- 二进制:
- 基础0和1,逢2进1,python中使用'0b'表示
- 示例:0b110100 = 2^5 + 2^4 + 2^2 = 32 + 16 + 4 = 52
- 十进制转二进制:除2取余,倒序书写
- 22 = 0b10110
- 八进制:
- 基数0~7,逢8进1,python中使用'0o'表示
- 示例:0o123 = 1 * 8^2 + 2 * 8^1 + 3 * 8^0 = 64 + 16 + 3 = 83
- 八进制转二进制:八进制的1位表示3位二进制数
- 0o123 = 0b001 010 011
- 十六进制:
- 基数09、AF,逢16进1,python中使用'0x'表示
- 示例:0xAB = 10 * 16^1 + 11 * 16^0 = 160 + 11 = 171
- 十六进制转二进制:十六进制1位表示4位二进制数
- 0xABC = 0b1010 1011 1100
- 计算机中的数据,是以哪种进制存储的?为什么?
- 二进制,因为计算机设计时只识别二进制。具体原因如下:
- 稳定性高(0和1)、成本低(技术上易实现)、与生活中的真假逻辑相吻合(易于解决实际问题)
- 计算机中的数据如何存储?
- 如何存储负数?
- 最高位作为符号位:0表示正数,1表示负数
- 虽然牺牲了最高位,但是可以解决负数存储问题,进而简化了硬件设计成本
- 原码反码和补码
- 正数的三码一致,只有负数才有反码和补码
- 负数的反码等与原码符号位不变,其余位取反
- 负数的补码等于反码加1
- 计算机中的数据都是以补码存储的
不同的数据类型都是为了解决实际问题而出现,就是为了进行各种运算而存在
-
Python中常用数据类型:整型、浮点、布尔、字符串、列表、元组、字典、集合、空等
-
整型(int):就是数学中的整数
-
浮点(float):就是数学中的小数
pi = 3.14
<span style="color: #008000">#<span style="color: #008000"> 科学计数法
b = 3.14e-3
<span style="color: #0000ff">print(b)
-
复数(complex):了解
c = 3 + 5j
(type(c))
-
布尔(bool):只有True/False两个值,对应于生活中的真假
-
空(NoneType):只有一个值None
-
字符串(str):使用引号括起来的一串字符
- 可以使用单引号双引号或者三引号定义
- 转义:就是时特定的字符失去原有的意义,使用''进行转义
- 单引号中的单引号,双引号中的双引号
- 很多时候''也需要转义
- 特殊:'\n'表示换行,'\t'表示制表
-
列表(list):通过[]进行定义,可以存储一系列的任意数据,可以添加删除元素
- 示例
lt = [1,3.14,提取元素,下表从0开始,存在越界问题
(lt[0])
-
元组(tuple):通过()进行定义,可以存储一系列的任意数据,不可以添加删除元素
- 示例
tp = (,,<span style="color: #008000">#<span style="color: #008000"> 定义单个元素的元组时需要添加一个','
tp2 = (123<span style="color: #000000">,)
<span style="color: #0000ff">print(type(tp2))
-
集合(set),使用{}进行定义,可以存贮一系列的任意数据,集合中的数据不能重复
- 示例
s = {,,,,,= {,,
(s &
(s |
(s -(s2 -<span style="color: #008000">#<span style="color: #008000"> 定义空集合,不能使用{},这是留给定义空字典使用的<span style="color: #008000">
<span style="color: #008000"> s3 = {}
s3 =<span style="color: #000000"> set()
<span style="color: #0000ff">print(type(s3))
-
字典(dict),使用{}进行定义
获取变量地址" data-source-line="181">获取变量地址
函数:id
-
示例:
a = 10
获取变量的地址
b = 10
(id(b))
-
说明:了解,不要深究
- 基数为0~9,逢10进1
- 示例:123 = 1 * 10^2 + 2 * 10^1 + 3*10^0 = 100 + 20 + 3 = 123
- 基础0和1,逢2进1,python中使用'0b'表示
- 示例:0b110100 = 2^5 + 2^4 + 2^2 = 32 + 16 + 4 = 52
- 十进制转二进制:除2取余,倒序书写
- 22 = 0b10110
- 基数0~7,逢8进1,python中使用'0o'表示
- 示例:0o123 = 1 * 8^2 + 2 * 8^1 + 3 * 8^0 = 64 + 16 + 3 = 83
- 八进制转二进制:八进制的1位表示3位二进制数
- 0o123 = 0b001 010 011
- 基数09、AF,逢16进1,python中使用'0x'表示
- 示例:0xAB = 10 * 16^1 + 11 * 16^0 = 160 + 11 = 171
- 十六进制转二进制:十六进制1位表示4位二进制数
- 0xABC = 0b1010 1011 1100
- 二进制,因为计算机设计时只识别二进制。具体原因如下:
- 稳定性高(0和1)、成本低(技术上易实现)、与生活中的真假逻辑相吻合(易于解决实际问题)
- 如何存储负数?
- 最高位作为符号位:0表示正数,1表示负数
- 虽然牺牲了最高位,但是可以解决负数存储问题,进而简化了硬件设计成本
- 原码反码和补码
- 正数的三码一致,只有负数才有反码和补码
- 负数的反码等与原码符号位不变,其余位取反
- 负数的补码等于反码加1
- 计算机中的数据都是以补码存储的
-
Python中常用数据类型:整型、浮点、布尔、字符串、列表、元组、字典、集合、空等
-
整型(int):就是数学中的整数
-
浮点(float):就是数学中的小数
pi = 3.14 <span style="color: #008000">#<span style="color: #008000"> 科学计数法
b = 3.14e-3
<span style="color: #0000ff">print(b) -
复数(complex):了解
c = 3 + 5j (type(c)) -
布尔(bool):只有True/False两个值,对应于生活中的真假
-
空(NoneType):只有一个值None
-
字符串(str):使用引号括起来的一串字符
- 可以使用单引号双引号或者三引号定义
- 转义:就是时特定的字符失去原有的意义,使用''进行转义
- 单引号中的单引号,双引号中的双引号
- 很多时候''也需要转义
- 特殊:'\n'表示换行,'\t'表示制表
-
列表(list):通过[]进行定义,可以存储一系列的任意数据,可以添加删除元素
- 示例
lt = [1,3.14,提取元素,下表从0开始,存在越界问题 (lt[0]) -
元组(tuple):通过()进行定义,可以存储一系列的任意数据,不可以添加删除元素
- 示例
tp = (,,<span style="color: #008000">#<span style="color: #008000"> 定义单个元素的元组时需要添加一个','
tp2 = (123<span style="color: #000000">,)
<span style="color: #0000ff">print(type(tp2)) -
集合(set),使用{}进行定义,可以存贮一系列的任意数据,集合中的数据不能重复
- 示例
s = {,,,,,= {,, (s & (s | (s -(s2 -<span style="color: #008000">#<span style="color: #008000"> 定义空集合,不能使用{},这是留给定义空字典使用的<span style="color: #008000"> <span style="color: #008000"> s3 = {}s3 =<span style="color: #000000"> set()
<span style="color: #0000ff">print(type(s3))
-
字典(dict),使用{}进行定义
不同的数据类型都是为了解决实际问题而出现,就是为了进行各种运算而存在
获取变量地址" data-source-line="181">获取变量地址
函数:id
-
示例:
a = 10
获取变量的地址
b = 10
(id(b))
-
说明:了解,不要深究
函数:id
示例:
a = 10
获取变量的地址
b = 10
(id(b))
说明:了解,不要深究