位运算
基于二进制的计算
字节:1byte=8bit
8位的首位作为符号位,1为负,0为正
正数相加
10+11
0000 1010
0000 1011
---------------
0001 0101
负数相加
为了解决运算出现:原码,反码,补码
原码:数值的标准二进制位
反码:符号位不变,其余位取反
补码:反码+1
正数原码和负数补码运算后转回原码,结果为正不需要转回
-3 + 2
-3 1000 0011 1111 1100 1111 1101
2 0000 0010
-----------------------------------------------------------
-1 1000 0001 1111 1110 1111 1111
位运算
&:两真则真,一假则假
|:两假则假,一真则真
^:相反为真,相同为假
⁓:按位取反 包含符号位 然后转换为原码
>>:右移运算符 相当于给原数除以2的n次方,n为右移位数
<<:左移运算符 相当于给原数乘以2的n次方,n为左移位数
三元运算符
条件成立时的代码 if 判断 else 条件不成立时的代码
程序结构
顺序结构
选择结构
关键字:if
if XXX:
XXX
else:
XXX
循环结构
elif
if xxx:
代码
elif xxx:
代码
elif xxx:
代码
else:
代码
if嵌套
if xxx:
if xxx:
if xxx:
xxx
else:
xxx
else:
xxx
else:
xxx
索引:
正向索引
下标从0开始
负数索引
下标从-1开始
字符串切片
sname[start : end : step]
sname:要操作的序列名称
start:切片的开始位置(包含自身),不指定默认从0开始
end:切片的结束位置(不包含自身),不指定默认序列长度
step:切片步长,默认为1
容器
可以存储多个元素的数据类型
列表
集合
元组
字典
列表
list = [1,2,3,4]
列表内元素数据类型可以不同
列表可以相互嵌套
列表可以重新赋值
list = [1,2,3,"Hello",[1,2,3]]
列表的方法
append():向列表尾部添加元素
insert(index,object):向指定位置添加元素
sort():排序
index():寻找元素第一次出现的位置
reverse():将列表元素翻转
remove():通过元素移除元素
count():统计元素在列表中的个数
clear():清除元素
copy():拷贝
extend():合并列表
pop():删除列表最后一个元素,并返回元素,可以用pop(i)指定删除
del():删除元素