1. 变量、运算符和数据类型: ??? 内置数据类型的地址和值:使用is指向地址和==指向值在不可变对象和可变对象中的区别;in作逻辑运算符; ??? 整型不限长;float是否会限长丢失精度? ??? 加深了对一切皆对象的理解; ??? 了解到decimal.getcontext()的trick; ??? 复习print函数,可以直接使用print进行write,flush参数控制缓存; 2. 位运算: ??? 复习了一下原反补移码; ??? 学习使用位运算实现快速计算的几个trick: ??????? (1)a^=b;b^=a;a^=b; ??????? (2)a&(-a) ??? 利用位计算实现集合运算: ??????? (1)a|(1<<i) ??????? (2)a^(1<<i) ??????? (3)a&(1<<i) ??????? (4)a&b ??????? (5)a|b ??????? (6)a&~b ??? python中bin()的trap:bin一个负数(十进制表示),输出的是它的原码的二进制表示加上个负号,巨坑, ??? 为了获得负数(十进制表示)的补码,需要手动将其和十六进制数0xffffffff进行按位与操作,再交给bin()进行输出,得到的才是负数的补码表示。 3. 条件语句: ??? pass 4. 循环语句: ??? while-else和for-else ??? range()和iterator/next ??? enumerate返回的可枚举对象是一个元组(enum(int), object) ??? 复习推导式(三元运算符:x if cond else y);集合直接遍历返回对象为其key; 5. 异常处理: ??? 异常对象的继承关系; ??? raise语句default抛出RuntimeError ??? try-except(someException as error,如不跟则默认捕捉所有类型的异常)(-else/-finally); ??? type和isinstance的区别(type无视继承关系,isinstance考虑继承关系)
|