最赞回答 / 暧月的猫
<...code...>先这么看 count返回一个数组。 你的问题完美解决了。再看这个数组里到底是啥<...code...>重点是fs.append(f)而f是一个函数,所以循环了3次,往fs里面加了三个函数。那最后的答案就是count函数返回一个数组,数组中有三个函数。至于这三个函数做了什么,你可以再细致的分析。
2017-09-01
最新回答 / 黑人wxy
def log(f): def wrapper(*args, **kw): print 'call...' return f(*args, **kw) return wrapper@logdef f2(x): passprint f2.__name__你看这个就没有,怎么可以呢,难道跟被装饰的函数有无返回值有关
2017-08-29
最新回答 / 慕村8182185
def performance(f): def fn(*args,**kw): start=time.time() return f(*args,**kw) end=time.time() print 'call %s() in %fs' % (f.__name__, (end - start)) return fn如果你这里是return的话代码是这样的,你看看能通么,去重新看一下基础return的返回值...
2017-08-29
最赞回答 / guyun
【答案中为什么不用定义这个grade】 不能加在__init__中, __init__函数是初始化实例的作用,意思就是你创建s这个对象的时候(就是这个s = Student('Bob', 59))必须要赋值,既然要把grade加进去,那你创建s实例的时候也要给它赋值。就相当于传入了三个参数。 题目给的意思是要给class类创建一个属性,而不是给实例创建属性。所以不能加在init函数中。@property这个装饰器可以将类里的一个方法(也就是平时的函数)变成类的属...
2017-08-28
最赞回答 / 慕田峪6529258
之前廖老师有说过filter函数的应用。filter(函数,可迭代的对象),可迭代对象中的元素代入第一个函数,函数返回值为True,则选择,否则过滤,这就是fliter函数的功能。所以lambda x: x[0]!='_'这个匿名函数的意义 迭代对象的第一个元素不为0则返回True,否则返回False。dir(p)则是迭代对象,p的属性的列表集合。整合在一块而便是筛选出符合条件(属性不以 _ 开头)的属性。望采纳,谢谢!
2017-08-25
最赞回答 / 慕仰5534561
self.k = v 的含义是 v 的内容赋值给变量名k 生成的不是字典而setattr(object, name, values) 给对象的属性赋值,若属性不存在,先创建再赋值。
2017-08-21
最赞回答 / weibo_哥哥立正向前走了_0
如上所诉类名调用和super不要混用 ,当用类名调用时——用的是广度算法,super调用C3算法class A(object):passclass B(A):passclass C(B):passclass D(A):passclass E(D):passclass F(C, E):pass按照广度优先遍历,F的MRO序列应该是[F,C,E,B,D,A]但是C3是[F,E,D,C,B,A]
2017-08-19