1.类私有成员变量
Python没有真正的私有变量。内部实现上,是将私有变量进行了转化,规则是:_<类名><私有变量>,举例说明如下:
Class A(object):
def __init__(self):
self.x=5
self.__x=10
if __name__=='__main__':
a=A()
print a._A__x
a._A__x=20
print a._A__x
通过dir(A)和dir(a)可以看到类属性和实例属性之间的区别:
其中实例属性多了'_A__X'和'x'两个属性。
2.zip()
zip接受任意多个(包括0个和1个)序列作为参数,返回一个tuple列表,下面给出示例:
1)
2)
3)
4)
这个例子值得解释一下,其中*r表示将r拆成多个元素,并传给多个位置作为参数。在上面的例子中,r被拆成3个分量,然后传入zip,这相当于一个unzip的过程。
5)
这个例子的运行机制是这样的:
[x]生成一个列表的列表,它只有一个元素x;然后[x]*3生成一个列表的列表,它有三个元素,[x,x,x];最后zip(*[x]*3)的意思就是zip(x,x,x)。