最赞回答 / dev_林杰
>>> ('abc')'abc'>>> type('abc')<type 'str'>>>> type('abc',)<type 'str'>>>> type(('abc'))<type 'str'>>>> type(('abc',))<type 'tuple'>>>>
2015-03-31
已采纳回答 / dev_林杰
# 猜测你说的应该是这里面的如下解释import time def performance(f): def fn(*args,**kw): t1 = time.time() # 定义程序执行前的时间戳,获取时间值 r = f(*args,**kw) # 运行函数f 这里的*args 和**kw保证任意的参数总是能正常调用 如果你程序些的形参实参能对应起来也可以不这么些 t2 = time.time() # 定义程序执行结束时候的时间戳,获取去时...
2015-03-30
最赞回答 / a412739861
因为f(i)在i的值没发生变动的时候,就已经完成计算了。所以f(i)是已经算出来的具体数值了而非之前的调用函数——lazy_sum之类的效果。这个数值已经计算好了。然后i继续迭代。与这里的f(i)已经无关了。
2015-03-27
最新回答 / ffan
对,执行f1, f2, f3 = count()的时候,不会去运行def f():这个函数,但是for循环却会一直执行,而且每次都会将f()追加到fs,但因为没有传入i值,所以每次循环下来追加的都是f(),即为同一个数值,当然会覆盖掉之前的f()!!所以当输入print f1()的时候,此时运行def f():这个函数的时候,i值变为3,返回的就是9了。不知道理解的对不对,如有错,望指正!!
2015-03-27
最赞回答 / 米乐乐果
参考https://docs.python.org/3/library/functions.html?highlight=property#property
2015-03-26