【python要点之III】
1、实现交换。
在C/C++中,交换两个变量,需要2个变量,tmp=x;x=y;y=tmp;。
在python中,交换两个变量可以这么写:x,y=y,x。
2、is&is not操作符用于测试两个变量是否指向同一个对象。
a is b 等价于 id(a)==id(b)。
3、//是地板除运算符。
4、[::x]是步长切片,例如:s='abcdefgh',则s[::2]的结果是'aceg'。
5、__dict__内部cpython实现使用了hash_table,非常耗内存,为了节省内存,可以在定义属性时使用__slots__,__slots__定向了合法的属性名。如果一个类定义了__slots__变量,则__dict__不会生成。