第三章 python 基础数据类型
python基本数据类型
- int ==> 整数. 主要⽤用来进⾏行行数学运算
- str ==> 字符串串, 可以保存少量量数据并进⾏行行相应的操作
- bool==>判断真假, True, False
- list==> 存储⼤大量量数据.⽤用[ ]表⽰示
- tuple=> 元组, 不可以发⽣生改变 ⽤用( )表⽰示
- dict==> 字典, 保存键值对, ⼀一样可以保存⼤大量量数据
- set==> 集合, 保存⼤大量量数据. 不可以重复. 其实就是不保存value的dict
3.1 整数 int
- 计算和比较
二进制转换成十进制
14转换成十进制
14 0 # 十进制
7 1
3 1
1 1
128 64 32 16 8 4 2 1
print(2**0) 1
print(2**1) 1
print(2**2) 1
print(2**3) 1
print(2**4) 1
print(2**5) 1
print(2**6) 1
print(2**7) 1
十进制转换成二进制
bit_length() 计算整数在内存中占用的二进制码的长度
num = 7 # 8421 00000111
print(num.bit_length())
求十进制数转换成二进制时所占用的位数
十进制 | 二进制 | 长度bit_length() |
---|---|---|
1 | 1 | 1 |
2 | 10 | 2 |
3 | 11 | 2 |
4 | 100 | 3 |
5 | 101 | 3 |
6 | 110 | 3 |
3.2布尔值(bool)
取值只有True False,布尔值没有操作,其他用于条件使用
3.2.1布尔转换
数字转换成bool ==>数字0 是False,数字非0 是True
print(bool(-10)) # 0 是 False 非0的都是True
字符串转换成bool ==> 空字符串 是False,非空字符串是True
print(bool(" ")) #空的字符串是 False 非空的就时True
bool 转换成字符串
print(type(str(True))) #布尔值可以转换成字符串
bool转换成数字==>True 转化成数字 1 False 转换成数字 0
print(int(False))
# True 转化成数字 1 False 转换成数字 0
3.3字符串str
字符串用于存储较少的数据,在python中只要用 " " , ' ' , ''' '''.引号引起来的就是字符串。
3.3.1索引
索引(下标):一排数字,反应第某个位置的字符,索引的下标从0开始,使用[ ]来获取数据
从左到右 0,1,2,3 从右到左 -1,-2,-3 查找时超出范围会报错
name = "meet,alex,wusir,wangsir,Eva_j"
# 01234567 (索引) #从左向右数数
# -4-3-2-1 (索引) # 从右向左数数
3.3.2切片
我们可以使⽤用下标来截取部分字符串串的内容
语法: str[start: end]
规则: 顾头不顾腚, 从start开始截取. 截取到end位置. 但不包括end
s2 = "meet,alex,wusir,wangsir,Eva_j"
print(s2[0:3]) # 从0获取到3. 不不包含3. 结果:mee
print(s2[6:8]) # 根据顾头不不顾腚, 想要取到8必须给9,结果: le ,
print(s2[4:]) # 如果想获取到后. 那么后⼀一个值可以不不给.
print(s2[-1:-5]) # 从-1 获取到 -5 这样是获取不不到任何结果的. 从-1向右数. 你怎么数 也数不不到-5
print(s2[-5:-1]) #顾头不不顾腚. 结果:Eva_
print(s2[-5:]) # 什么都不不写就是-5开始往0取结果:Eva_j
print(s2[:-1]) # 这个是取到倒数第⼀一个结果:meet,alex,wusir,wangsir,Eva_
print(s2[:]) # 原样输结果:meet,alex,wusir,wangsir,Eva_j
3.3.3步长
如果是整数, 则从左往右取. 如果是负数. 则从右往左取. 默认是1
语法: str[start