最赞回答 / lancelotzx
我理解你的问题为:为啥输出了4次?两次@performance 相当于performance(performance(factorial(10)))考虑performance(factorial(10)):取time1,执行f即factorial三次,取time2,打印输出时间差值;考虑 performance(performance(factorial(10))) :取time3,执行performance(factorial(10))三次,此时每执行一次则打印一次,取time4,打印输出时间差值;从...
2015-05-30
最赞回答 / 筱兵潇将
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。编码:把一个Python对象编码转换成Json字符串 json.dumps()解码:把Json格式字符串解码转换成Py...
2015-05-27
最赞回答 / 星际怪物
class Person(object): __count = 0 def __init__(self, name): Person.__count=Person.__count+1 self.name =name print Person.__countp1 = Person('Bob') #1p2 = Person('Alice') #2Person.__count=5 print Person.__count #5p3 = Person('...
2015-05-27
最赞回答 / JS000
简单点说就是当一个函数(如def my_func(): pass)前面加了@函数名(如@log),然后log函数就被赋值给my_func函数本身,并且my_func作为参数传入log函数,也就是my_func = log(my_func)。然后用前面高阶函数的知识去理解就行了。有参数装饰器就是多了一个函数而已,层层剖析下就行了
2015-05-21
最赞回答 / 痕六
<...code...>参数是一个对象,一个字符串和一个任意值。字符串可能会列出一个现有的属性或一个新的属性。这个函数将值赋给属性的。并将属性提供给对象。在 xiaoming = Person('Xiao Ming', 'Male',...
2015-05-19
最赞回答 / JS000
可以的,但是前面代码要改一下:def count(): fs = [] for i in range(1, 4): def f(j): return j*j r = f(i) fs.append(r) return fs这样最后你输入print f1,结果就是[1,4,9]用f1,f2,f3= count()是因为用了闭包,f1(),f2(),f3()其实就是分别当j为1,2,3时的g()
2015-05-17