- images
- results
- .gitignore
- 1.1概论.ipynb
- 1.2 环境配置.pdf
- 1.3数据类型.ipynb
- 1.4 人机交互.ipynb
- 1.5 对象与变量.ipynb
- 1.6 编码与命名规范.ipynb
- 2.1 数值类型.ipynb
- 2.2 数值类型转换.ipynb
- 2.3 数值元算.ipynb
- 2.4常用数学运算函数.ipynb
- 2.5 math 模块及其应用.ipynb
- 2.6.1 逻辑值测试.ipynb
- 2.6.2 成员运算.ipynb
- 2.6.3 比较运算.ipynb
- 2.6.4 布尔运算.ipynb
- 2.6.5 运算优先级.ipynb
- 2.ipynb
- 3.1 流程控制结构.ipynb
- 3.3.1 for 循环语句.ipynb
- 3.3.3 rang.ipynb
- 3.3.3 while 循环语句.ipynb
- 3.4 and 3.5 分支结构和条件.ipynb
- 3.6 and 3.7 .ipynb
- 3.9 异常处理.ipynb
- 4 函数和模块化编程.ipynb
- 4.1 函数的定义、调用与返回值.ipynb
- 4.2 函数的参数传递.ipynb
- 4.3 变量的作用域.ipynb
- 4.4 匿名函数.ipynb
- 4.5 递归.ipynb
- 4.6 内置函数.ipynb
- 4.7 模块化程序设计.ipynb
- 5.1 序列通用操作.ipynb
- 5.1.1 索引.ipynb
- 5.1.2 切片.ipynb
- 5.1.3 序列拼接与重复.ipynb
- 5.1.4 成员测试.ipynb
- 5.2.1 字符串的创建.ipynb
- 5.2.2 字符串常量.ipynb
- 5.2.4 字符串的遍历.ipynb
- 5.2.5 文件遍历.ipynb
- 5.2.6 字符串的处理方法.ipynb
- 5.2.7 字符串格式化.ipynb
- 5.2.8 转义字符.ipynb
- 5.3 random 模块及其应用.ipynb
- 6.1 元组.ipynb
- 6.2 列表.ipynb
- 6.2.1 列表的创建.ipynb
- 6.2.2 列表的更新.ipynb
- 6.2.3 列表的删除.ipynb
- 6.2.4 列表的排序.ipynb
- 6.2.5 列表赋值与复制.ipynb
- 6.2.6 列表推导式.ipynb
- 6.2.8 常用内置函数.ipynb
- 6.2.9 列表嵌套及其排序.ipynb
- 6.3 列表综合应用.ipynb
- 7.1.1 集合的创建.ipynb
- 7.1.2可变集合类型的操作.ipynb
- 7.1.3 成员关系.ipynb
- 7.1.4 集合关系.ipynb
- 7.1.5 集合运算.ipynb
- 7.2.1 字典创建.ipynb
- 7.2.2 获取字典值.ipynb
- 7.2.3 修改字典值.ipynb
- 7.2.4内置函数与方法.ipynb
- 7.2.5字典排序输出.ipynb
- 7.3 集合与字典的应用.ipynb
- 8 中 numpy 概述.ipynb
- 8 中panda 库.ipynb
- 8.1 文件的打开与关闭.ipynb
- 8.2 文件读写操作.ipynb
- 8.3 文件的应用.ipynb
- 8.4 numpy 文件操作.ipynb
- 8.4.2 and 3.ipynb
- 8.5.1 pandas文件读写.ipynb
- 8.5.2 and 3 and 4.ipynb
- 9.1 matplotlib 线性图.ipynb
- 9.1.5 数据文化绘图.ipynb
- 9.2 非线性图.ipynb
- 9.3 词云.ipynb
- _overview.md
- _readme.ipynb
- coding_here.ipynb
- dream.png
- score.txt
- score_total.csv
- 成绩分析综合.json
1.3数据类型.ipynb @master — view markup · raw · history · blame
1.3 基本数据类型¶
1.3.1 数据与数据类型¶
数据: 对客观事物的性质、状态以及相互关系等进行记载的物理符号或这些物理符号的组合。
数据可以是连续的值,比如:声音、图像;


数据也可以是离散的,如符号、文字等都是数据。
在计算机中,所有数据最终都以__二进制__(0,1)的形式存储和表示。</font>
Python解释器内置的__12种标准类型__,包括:</font>
- __逻辑值检测__ (Truth Value Testing) :True、False
- __布尔运算__ (Boolean Operations):and、or、not
- __比较__(Comparisons) :<、<=、>、>=、==、!=、is、is not
- __数值__类型 (Numeric Types):整数(int)、浮点数(float)、复数(complex)
- __迭代器__类型 (Iterator Types) :迭代器对象、生成器(generator)
- __序列__类型 (Sequence Types):列表(list)、元组(tuple)、range
- __文本序列__类型(Text Sequence Type):字符串(str)
- __二进制序列__类型 (Binary Sequence Types):字节对象(bytes)、字节数组(bytearray)、内存视图(memoryview)
- __集合__类型 (Set Types):集合(set)、不可变集合(frozenset)
- __映射__类型 (Mapping Types):字典(dict)
- __上下文管理器__类型 (Context Manager Types):with
- __其他内置类型__ (Other Built-in Types):模块、类和类的实例、函数、方法、空对象、类型对象、代码对象和布尔值等。
Python中,数据类型分为可变数据类型和不可变数据类型。
(1)__不可变__数据类型主要有四种:
numeric(数字:int, float, complex)、string(字符串str)、tuple(元组)和range;
Python中的不可变数据类型,不允许变量的值发生变化,如果改变了变量的值,就相当于新建了一个对象,其id值或者说其引用的内存地址就会发生变化。
(2)__可变__数据类型主要有三种:
| 类型 | 示例 | 说明 |
|---|---|---|
| 整型 | 1024、79 | 整数大小无限制(受内存大小限制) |
| 浮点型 | 123.45、12. 、23.0、0.78 | 取值范围: 2.2250738585072014×10-308到1.7976931348623157×10308 |
| 复数 | a+bj | a, b均为浮点类型 |
| 字符串 | '1024' 、"test"、'''10test''' | 使用成对的单引号、双引号或三引号界定。 |
| Range | range(1,10,2) | range(start, stop[, step])返回的从start到stop,步长为step的整数序列,常用于控制循环。 |
| 元组 | (1,2,3,4)、(1,2, 'a', 'b')、(1,) | 用一对圆括号界定,元素间逗号分隔,元素可为任意数据类型。 |
| 列表 | [1,2,3,4]、[1,2,'a',"b"] | 用一对方括号界定,元素间逗号分隔,元素可为数字、字符串、列表、元组等任意数据类型。 |
| 集合 | {1,2,3,4}、{'you','me','he'} | 用一对大括号界定,元素无顺序,集合中元素具有唯一性,元素间逗号分隔。 |
| 字典 | {'age':40, 'name':'zhao'} | 用一对大括号界定,元素间用逗号分隔,每个元素包括包含“键”和“值”两部分。 |
1.3.2 数值取值范围¶
__整数不限制大小__(受限于内存容量)
In [3]:
print(810 ** 106) # 可输出正确结果
# 199256272249431221328603033054645678897075327295912250213439044806853800883809353096726339601918790294815253340993739842744300688098446575123760666990589913606790210408661322708851458639282263892938644810000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
__浮点数__最大值为1.7976931348623157e+308,超出范围会触发__溢出异常__。
sys.float_info中提供了有关运行程序的机器的浮点数精度和内部表示形式的信息</font>
In [4]:
import sys
# 下面语句可获得浮点数精度和内部表示形式的信息
print(sys.float_info)
In [ ]:
print(810.0 ** 106) # OverflowError: (34, 'Result too large')
1.3.3 可变与不可变数据类型¶
__数值类型、字符串、range__和__元组__
是不可变数据类型。
不可变数据类型在使用过程中不会改变,一旦改变就意味着创建了新对象。</font>
In [2]:
a = 1024 # 旧对象
print(id(a)) # 旧对象地址 139904614127376
a = 2048 # 创建新对象,应用旧名字a
print(id(a)) # 新对象地址 139904614127504
__列表、集合、字典__是可变数据类型,他们的一些方法可以在原地修改对象的值。
变成新值后,对象的地址没有发生变化。</font>
In [1]:
ls = [1, 2, 3, 4] # 列表,可变对象
print(id(ls)) # 地址 139904674229704
ls.append(5) # 为列表添加一个元素5
print(ls) # 数据[1, 2, 3, 4, 5]
print(id(ls)) # 地址 139904674229704
In [ ]: