1.整数:
int -- 计算和比较
2进制 -- 10进制 推位
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
十进制换成二进制:
num = 7 # 8421 00000111
bit_length 二进制的有效占用位数
print(num.bit_length()) # 求十进制数转换成二进制时所占用的位数
2.布尔值:
数字转成布尔值:
数字0 是False
数字非0 是True
字符串转换成布尔值:
空字符串 是False
非空字符串 是True
布尔值 转换成 数字, 字符串
数字 True - 1 False - 0
字符串类型
3.字符串
python 中只要是用引号 引起来的就是字符串
作用:存储少量数据
索引:从左到右 0,1,2,3 从右到左 -1,-2,-3 查找时超出范围会报错
字符串,列表,元组 -- 都是有索引(下标)
索引是准确的定位某个元素
从左向右 0,1,2,3
从右向左 -1,-2,-3,-4
支持索引的都支持切片 [索引]
切片: [起始位置:终止位置] 顾头不顾尾 查找的时候超出范围没事
步长:决定查找的方向,决定查找的步子大小 默认是1 默认方向是从左向右
字符串方法:
全部大写 upper()
全部小写 lower()
以什么开头 startswith()
以什么结尾 endswith()
去头尾空格 -- 默认去掉空格和换行符 strip()
分割 默认是空格分割,自己制定 split()
替换 replace() 第一个参数是旧的 第二个参数是新的
统计 count() 统计某个内容出现的次数
第三种字符串格式化 format()
按照位置顺序去填充
name = "alex{}wusir{}"
name1 = name.format('结婚了',"要结婚了")
按照索引位置去填充
name = "alex{1}wusir{0}"
name1 = name.format('结婚了',"要结婚了")
指名道姓 填充
name = "alex{a}wusir{b}"
name1 = name.format(a="结婚了",b="马上结婚")
is 系列
isdecimal 判断的是不是十进制
isalnum 判断的是不是中文,字母,数字
isalpha 判断的是不是中文,字母
4.for循环
for 关键字
i 变量 (可以人为修改)
in 关键字
s 可迭代对象 (int,bool)
面试题:循环后的i变量指向的是最后的一个元素
占位: pass ...
range() # 范围
python3打印是它自己本身
python2打印是列表
range(起始位置,终止位置,步长)
range(10) -- range(终止位置) 起始位置0