专题之位运算、迭代器、深浅拷贝、推导式
作者:互联网
位运算
计算机存储的都是二进制文件,高低电平,因为计算机只识别0和1这样的文件。
计算机的运算都是采用位运算的方式
原码 二进制文件
反码 原码取反
补码 反码+1
注意:正数的原码、反码和补码都是一样的,上面的只是对负数说的
运算完之后的得到的是补码,补码取反得到反码,反码+1得到原码
& 按位与运算 相同的位数都为1就为1
| 按位或运算 位数有1就是1
~ 按位非运算 取反-(n+1)
^ 按位异或运算 相异为1
<< 左移运算 低位补零
>> 右移运算 右移
迭代器
概念:含有__iter__()和__next__()魔术方法的都是迭代器
特点:
能用for取值,next取值,类型强转取值
使用:
可以自己定义迭代器,只要里面含有那两个方法的类
可迭代对象转化成迭代器,只需要iter(iterable)
深浅拷贝
浅拷贝:
拷贝的成员的引用,也就是当改变成员的时候,拷贝前后成员的值不改变,但是当改变可变成员的元素时,两个里面都改变,常应用于列表的删除操作等
深拷贝:
拷贝的是对象的引用,也就是说当深拷贝之后,现变量与原变量就没有关系了,主要引用于数据的复制、保存
推导式
列表的推导式:
常用格式[i for i in iterable if bool表达式]
注意:没有else 的选项
标签:__,反码,运算,迭代,之位,拷贝,原码 来源: https://blog.csdn.net/qq_37839978/article/details/99706080