最赞回答 / 梦中楼上月下丶
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