最赞回答 / 梦中楼上月下丶
fs是一个list并且在for循环外所以只会返回一次fs的内容才是在for循环中添加的在练习中运行一次count函数 会执行3次for循环在每次for循环中会向fs这个list中插入一个值(append(f(i)))而不是返回整个fs而函数的最后返回的fs是一个list 里面有3个值 因为里面的值是在for循环时就添加的所以是1,4,9在讲解的例子中,每次for循环添加的并不是一个list的值而是一个指向函数的指针(append(f))所以三个for循环结束以后返回的是三个地址指针,函数并不会执行,而且三...
2017-08-10
最赞回答 / lavill
个人理解。一般情况下,类属性在定义类时就确定了。但.append()是在原处修改,所以类属性就被改变了。但这并不说明类属性为列表或字典,实例修改就一定会发生变化。你可以试着把 p1.count.append(1) 改为p1.count = p1.count + [1],就会发现……
2017-08-05
最赞回答 / qq_北冥之雪_0
调用了cmp函数,cmp(self.score, s.score)中,若 self.score>s.score ,返回1;若等返回0 ;否则返回-1 -cmp(self.score, s.score) 等价于 cmp(s.score, self.score)
2017-08-05
最新回答 / CCCCCold丶kl
这是对继承自父类的属性进行初始化。而且是用父类的初始化方法来初始化继承的属性。也就是说,子类继承了父类的所有属性和方法,父类属性自然会用父类方法来进行初始化。当然,如果初始化的逻辑与父类的不同,不使用父类的方法,自己重新初始化也是可以的。不初始化的话,不会继承父类的属性 小白~~~参考就好
2017-08-04