数值类型
- 整数类型
- 小整数对象池
- 浮点数、复数
- 数学计算
布尔类型
- 布尔类型介绍
- bool()的使用
- 布尔类型运算
控制(None)
字符串
- 字符串介绍
- 字符串储存
- 字符串下表
- 字符串切片
- 字符串类型转换
- 字符串组成方式
- 字符串常见操作
Python 基础数据类型
为什么会有数据类型? ( 了解 )
- 更好分配管理内存
- 方便统一管理
- 更贴近人类分类管理习惯
数据类型种类(熟悉)
数值类型:int、boolean、float、complex、
序列类型:
- 不可变:str、tuple、bytes、
- 可变:list
集合类型:set
映射类型: dict
数值类型介绍 ( 熟悉 )
数值类型是 不可变 类型。所谓的不可变类型,指的是类型的值一旦有不同了,
那么它就是一个全新的对象。数字1和2分别代表两个不同的对象,对变量重新
赋值一个数字类型,会新建一个数字对象。
还是要强调一下 Python 的变量和数据类型的关系,变量只是对某个对象的引用或者说代号、名字、调用等等,变量本身没有数据类型的概念 。只有1,[1,2],"hello"这一类对象才具有数据类型的概念。
Python 支持三种不同的数值类型:整数、浮点数和复数与布尔。
整数 (int) 介绍 ( 熟悉 )
整数通常被称为整型,数值为正或者负,不带小数点。表示数字的时候,通常
使用十进制(decimal) 来表示。
有时我们还会用八进制或十六进制来表示(了解):
- 十六进制用 0x 前缀和 0-9 , a-f 表示,例如: 0xff00 。 python 中使用 hex() 将十进制转为十六
进制 - 八进制用 0o 前缀和 0-7 表示,例如 0o45 。 python 中使用 oct() 将十进制转为八进制
- 二进制用 0b 前缀和 0-1 表示,例如 0b11 。 python 中使用 bin() 将十进制转为二进制
整数内存 ( 了解 )
python 的整数长度为32位,并且通常是连续分配内存空间的。
从下面代码的内存地址看,之间正好相差32。
小整数对象池 ( 了解 )
python 初始化的时候会自动建立一个小整数对象池,方便我们调用,避免后期
重复生成!这是一个包含262个指向整数对象的指针数组,范围是-5到256。也
就是说比如整数10,即使我们在程序里没有创建它,其实在 Python 后台已经
悄悄为我们创建了。
作用:节省开销,增快运行速度
整数缓冲区 ( 了解 )
除了小整数对象池,Python 还有整数缓冲区的概念,也就是刚被删除的整数,
不会被真正立刻删除回收,而是在后台缓冲一段时间,等待下一次的可能调用。
注意:在交互环境当中演示不出来效果。该效果在pycharm当中实现;并且注
意不是小整数对象池当中的值。
浮点数 (float) 介绍 ( 熟悉 )
浮点数也就是小数,如1.23,3.14,-9.01,等等。但是对于很大或很小的浮点
数,一般用科学计数法表示,把10用e替代,1.23x10^9就是1.23e9,或者
12.3e8,0.000012可以写成1.2e-5,等等。
浮点数与整数之间转换 ( 掌握 )
复数 (complex)( 了解 )
复数由 实数部分 和 虚数部分 构成,可以用 a + bj, 或者 complex(a,b) 表示,
复数的 实部a 和 虚部b 都是浮点。
数学计算 ( 熟悉 )
对于数学计算,除了前面提到过的简单的加减乘除等等,更多的科学计算需要
导入 math 这个标准库,它包含了绝大多数我们可能需要的科学计算函数。
布尔类型
bool() 的使用
布尔类型运算
布尔类型介绍
空值 (None)
布尔类型
布尔类型介绍 ( 掌握 )
比如我们抛硬币,不是正面就是反面。那其实
对于对与错、0与1,都是传统意义上的布尔
类型。
但在Python语言中,布尔类型只有两个值,
True 与 False。
注意:首字母必须大写,不能有其它的花式变
型。
布尔类型
bool() 使用
我们通过 python 内置的 bool() 函数来测试一个表达式的布尔值的结果。
布尔类型
布
归纳:
数值类型:0、0.0的 bool 值都为 False,其它的都为 True
-
字符串:空字符串的 bool 值为 False,其它的都为 True。注意空格字符串为 True
列表:空列表的 bool 值为False,其它的都为 True。
None 的 bool 值永远为 False
布尔类型运算
布尔类型运算如下:
- and 运算
- or 运算
- not 运算
- 算术 运算,注意:把 True 看作1,而 False 看作 0
空值
空值介绍 ( 掌握 )
空值不是布尔类型,是 Python 里一个特殊的值,用 None 表示(首字母大写)。
None 不能理解为0,因为0是整数类型,而 None 是一个特殊的值。None 也不是
布尔类型,而是 NoneType。
字符串
字符串存储
字符串下标
字符串切片
字符串类型转换
字符串介绍
字符串组成方式
字符串常见操作
字符串 (str)
字符串介绍 ( 掌握 )
字符串是 Python 中最常用的数据类型之一,使用单引号或双引号来创建字符串,
使用三引号创建多行字符串。
注意:
- 字符串的单引号与双引号都是 成对 出现的,不能一边单一边双。
- 字符串是 不可变 的 ****序列数据类型***,不能直接修改字符串本身,和数
字类型一样!
字符串的存储 ( 了解 )
思考: 以下 数值 与 字符串 存储是一样的吗?
存储方式的介绍 ( 了解 )
- CPU:速度快,存储小
- 硬盘:速度慢,存储大
- 内存:速度比CPU慢,但比
硬盘快。存储比CPU大,但
比硬盘小。 - 16G
1G = 1024M
1M = 1024KB
1KB = 1024B
1B = 8bit
字符串的存储 ( 了解 )
整数 在内存中占 一个字节,字符串 不管中间多少内容都要 单独存储。
字符串的下标 ( 重点掌握 )
由于字符串是 序列数据结构 ,所以我们可以通过 下标 将字符串中某个字母取出来。
下标也可称为 索引,默认从0开始。
思考:
name = “ hello oldamy ” ,如何取出 e 值?如何取出最后一个值?
字符串的切片 ( 重点掌握 )
思考:
name = “ hello oldamy ” ,如何取出 oldamy , hloodm 值?name 逆序输出?
切片模式:
a[start:stop:step]
字符串的切片 ( 重点掌握)
字符串的切片 ( 重点掌握 )g
注意:
- 索引默认从0开始
- 切片时左闭右开
- 当是取单个字符的时候,索引超出范围会报错。而切片时不会报错。
- 步长不能为0,也不允许为浮点数
字符串类型转换 ( 掌握 )
字符串组成方式 ( 掌握 )
- 字符串相加
- 字符串格式化
- %s %d %f
- str.format()
- python3.6.4 引入*** f''***
栗子: - name = 'hansen'
- age = 20
-
输出 ** 的年龄为 **
字符串常见操作 ( 熟悉 )
S.find(sub) --> 返回该元素最小的索引
S.index(sub) --> 返回该元素最小的索引
S.replace(old, new[, count]) --> 替换
S.split(sep=None) --> 以 sep 来分割字符串 , 并返回列表。 sep 默认为 None, 分割默认为空格
S.startswith(prefix[, start[, end]]) --> 判断字符串是否以前缀开始,返回为 bool 值。
S.endswith(suffix[, start[, end]]) --> 判断字符串是否以尾缀结束,返回为 bool 值。
S.lower() --> 将字符串全部转为小写
S.upper() --> 将字符串全部转为大写
S.strip([chars]) --> 默认去掉字符串左右的空格
S.isalpha() --> 判断字符串是否全为字母,返回的是 bool 值
S.isdigit() --> 判断字符串是否全为数字,返回的是 bool 值
S.isalnum() --> 判断字符串是否全为数字或者字母,不存在特殊字符,返回的是 bool 值
S.join(iterable) --> 将序列中的元素以指定的字符连接生成一个新的字符串