最赞回答 / 子木李
在Python,有两种属性,类属性和实例属性,类属性相当于类的静态方法(类比于Java),实例属性是每个实例单独的属性,楼主所说的用Person.count,这里调用的就是类属性,self.count调用的是实例属性,当在_init_中调用的是self时,然后打印的时候调用的是Person.count,那么count肯定是它的初始值0了,因为它没有改变,用self.count,改变的只是实例的属性,并没有改变类属性,所以打印出三个0了,如果楼主把print那个部分的Person换成p1,p2,p3的时候,...
2015-10-23
最赞回答 / 解剖器
sorted默认是sorted([4,6,8,2等等],cmp)cmp是里面介绍的输出-1、1或者0,sorted函数通过cmp的返回值来判断比较的两个数的前后顺序。相当于是cmp为sorted提供对比的标准,sorted按照那个标准来排序。sorted函数只认识cmp返回的1、-1和0,并且按照上面介绍的规则来排序。至于从大到小还是从小到大完全取决于cmp的定义。sorted的排序算法是python设计好的,我们并不需要知道。如果你接触过其它的语言,在设计到排序时会接触一些排序的算法,那些算法有好有坏,...
2015-10-21
最赞回答 / ES716
初学,不知道解释的对不对啊第一个问题:fs.append(lambda i=i: i*i) 相当于 fs.append(lambda j=i: j*j)(lambda i=i: i*i)中的第一个 i 是lambda自己声明的局部变量 , 会屏蔽掉外部的 i 变量值。第二个问题:fs.append(lambda a=i: i*i) 相当于 fs.append(lambda : i*i)(lambda a=i: i*i) 中的 i是引用外部变量 ,所以会发生变化,闭包要求不是不能引用外部会发生变化的变量么第...
2015-10-11
最赞回答 / 星际怪物
grade()中使用 self.score 相当于调用get_score() return self.__score,与直接self.__score效果一样
2015-10-09
最赞回答 / bear_0008
@log 是Python特有的一种函数简写方式,相当于factorial=log(factorial),将factorial()函数作为log函数的参数进行调用
2015-09-21
最新回答 / 飞雪随风
你的问题是没有查看参考文档,我截取一部分给你看,你就明白怎么回事了这是sorted方法sorted(iterable[,
cmp[, key[, reverse]]])这是intclass int(x, base=10)那你现在找到里面的key或者base要一样了吧
2015-09-17