一.python基本数据类型
1. int ==> 整数. 主要用来进行数学运算
2. str ==> 字符串, 可以保存少量数据并进行相应的操作
3. bool==>判断真假, True, False
4. list==> 存储大量数据.用[ ]表示
5. tuple=> 元组, 不可以发生改变 用( )表示
6. dict==> 字典, 保存键值对, 一样可以保存大量数据
7. set==> 集合, 保存大量数据. 不可以重复. 其实就是不保存value的dict
二. 整数(int)
在python3中所有的整数都是int类型. 但在python2中如果数据量比较大. 会使用long类型. 在python3中不存在long类型
整数可以进行的操作:
bit_length(). 计算整数在内存中占用的二进制码的长度(求得是有效长度)
十进制 | 二进制 | 长度bit_length() |
1 | 1 | 1 |
2 | 10 | 2 |
3 | 11 | 2 |
4 | 100 | 3 |
5 | 101 | 3 |
6 | 110 | 3 |
7 | 111 | 3 |
8 | 1000 |
三. 布尔值(bool)
取值只有True, False. bool值没有操作.
转换问题:
str => int int(str)
int => str str(int)
int => bool bool(int). 0是False 非0是True
bool=>int int(bool) True是1, False是0
str => bool bool(str) 空字符串是False, 不空是True
bool => str str(bool) 把bool值转换成相应的"值
四. 字符串(str)
把字符连成串. 在python中用', ", ''', """引起来的内容被称为字符串.
4.1 切片和索引
1. 索引. 索引就是下标. 切记, 下标从0开始
# 0123456 7 8 s1 = "python最牛B" print(s1[0]) # 获取第0个 print(s1[1]) print(s1[2]) print(s1[3]) print(s1[4]) print(s1[5]) print(s1[6]) print(s1[7]) print(s1[8]) # print(s1[9]) # 没有9, 越界了. 会报错 print(s1[-1]) # -1 表示倒数. print(s1[-2]) # 倒数第二个
2. 切片, 我们可以使用下标来截取部分字符串的内容
语法: str[start: end]
规则: 顾头不顾腚, 从start开始截取. 截取到end位置. 但不包括end
1 s2 = "python最牛B" 2 print(s2[0:3]) # 从0获取到3. 不包含3. 结果: pyt 3 print(s2[6:8]) # 结果 最牛 4 print(s2[6:9]) # 最大是8. 但根据顾头不顾腚, 想要取到8必须给9 5 print(s2[6:10]) # 如果右边已经过了最大值. 相当于获取到最后 6 print(s2[4:]) # 如果想获取到最后. 那么最后一个值可以不给. 7 print(s2[-1:-5]) # 从-1 获取到 -5 这样是获取不到任何结果的. 从-1向右数. 你怎么数也数不到-5 8 print(s2[-5:-1]) # 牛b, 取到数据了. 但是. 顾头不顾腚. 怎么取最后一个呢? 9 print(s2[-5:]) # 什么都不写就是最后了 10 print(s2[:-1]) # 这个是取到倒数第一个 11 print(s2[:]) # 原样输出
跳着截取
1 # 跳着取, 步长 2 print(s2[1:5:2]) # 从第一个开始取, 取到第5个,每2个取1个, 结果: yh, 分析: 1:5=> ytho => yh 3 print(s2[:5:2]) # 从头开始到第五个. 每两个取一个 4 print(s2[4::2]) # 从4开始取到最后. 每两个取一个 5 print(s2[-5::2]) # 从-5取到最后.每两个取一个 6 print(s2[-1:-5]) # -1:-5什么都没有. 因为是从左往右获取的. 7 print(s2[-1:-5:-1]) # 步长是-1. 这时就从右往左取值了 8 print(s2[-5::-3]) # 从倒数第5个开始. 到最开始. 每3个取一个, 结果oy
步长: 如果是整数, 则从左往右取. 如果是负数. 则从右往左取. 默认是1
切片语法:
str[start:end:step]
start: 起始位置
end: 结束位置
step:步长