介绍Python对象类型
介绍Python对象类型
- Python知识结构
- 为什么要使用内置类型
- Python核型数据类型
- 数字
- 字符串
- 列表
- 字典
Python知识结构
- 程序由模块构成
- 模块包含语句
- 语句包含表达式
- 表达式创建并处理对象
为什么要使用内置类型
- 内置对象使程序更容易编写
- 内置对象是可扩展的组件
- 内置对象往往比定制的数据结构更有效率
- 内置对象是语言标准的一部分
Python核型数据类型
对象类型 | 字面量/构造示例 |
---|---|
数字 | 123,3.14 |
字符串 | ‘spam’,‘Bob’ |
列表 | [1,2,3] |
字典 | {‘spam’: ‘food’}, dict(hours=10) |
元组 | (1, ‘spam’, 4) |
文件 | open(‘egg.txt’) |
集合 | set(‘abc’),{‘a’, ‘b’, ‘c’}, |
其他核心类型 | 类型、None、布尔型 |
程序单元类型 | 函数、模块、类 |
Python实现相关类型 | 已编译代码、调用栈跟踪 |
- Python是动态类型的(它自动跟踪你的类型而不是要求声明代码)
- Python是强类型的(你只能对一个对象进行适合该类型的有效操作)
数字
- 浮点数精度问题:所有分母不为2的幂次的分数都不能被精确存储,如0.1
0.1 + 0.2 == 0.3
为Flase
字符串
- 字符串是由单字符的字符串所组成的序列
- 可以在索引方括号中使用任意表达式,而不仅仅是数字如
a[1+3]
- 字符串具有不可变性
- 可作用于多种类型的通用操作都是以内置函数或表达式的形式出现的(如
len(x)、x[0]
),但是类型特定的操作是以方法调用的形式出现的(如aString.upper()
) - "r"开头字符串表示去掉反斜线转义机制(如
r'C:\text\new'
)
列表
- 列表具有可变性
- 超出列表末尾之外的索引会导致错误
- 列表可以嵌套
- 支持列表推导