已采纳回答 / 子羽0
g返回的是函数的引用,实际并没有计算,而是在print的时候才去计算结果,如果你改成g(),实际返回的就是计算的结果,将结果放的fs中,count函数返回的也是三个结果,二不是三个函数,所以应该讲print f1(),f2(),f3()改成print f1,f2,f3。这一章侧重点应该在append这个函数上,入参如果为一个函数的引用返回的也是函数的引用,实际只在print函数的时候计算结果
2016-08-16
已采纳回答 / 松鼠鼠
r'["Tim", "Bob", "Alice"]' 是一个字符串,File-like-Object 是一个类似File类的类比如:class File-like-Object(object): def read(self): return r'["Tim", "Bob", "Alice"]'这个类写完了,它有一个read()方法,这跟File类类似,但实际这个类的作用就是通过调用read()方法返回了一个字符串
2016-08-16
已采纳回答 / 心随风3708948
<...code...><...code...>这是一段代码和运行结果,可以看见,在decorator函数的命名空间里面,压根就不存在add函数,而是fun函数。
2016-08-15
已采纳回答 / 甲壳虫爱上了夏天
print float(Rational(7,2))调用的是 Rational类中的 私有方法 float如果改成print int(Rational(7,2)) 那就是返回整数3了
2016-08-13
已采纳回答 / zhangsunny3313760
Anaconda,python xy,pycharm,甚至是eclipse都是很不错的IDE个人比较喜欢Anaconda里的spyder,可以交互式编程,像matlab一样,用来做科学计算比较方便
2016-08-12
已采纳回答 / Yi罐可乐
lambda 是一个匿名函数,self.get_grade = lambda: 'A' 这句代码等于def xxx: return 'A'self.get_grade = xxx
2016-08-11
已采纳回答 / reborn3788166
课程里面已经说得很清楚了:先定义一个函数def log(f): def fn(x): print 'call ' + f.__name__ + '()...' return f(x) return fn其次@logdef factorial(n): return reduce(lambda x,y: x*y, range(1, n+1))print factorial(10)输出结果:call factorial()...3628800
2016-08-11
已采纳回答 / qq_许寻风_03726049
f 是代表这个函数的函数名。f(x,y)是定义这个函数有2个参数。 后面因为 return lazy_prod
f = calc_prod([1, 2, 3, 4]),注意看 f 这个函数已经等于calc_prod([1, 2, 3, 4])。所以f变成了不用参数的函数。 f()就是调用函数的意思print f() 代表输出 调用完这个函数后 return的结果
2016-08-11
已采纳回答 / Nelson_Zhao
在文本编辑器里写代码的话,有两种方法。一种是time.clock(),一种是time.time()<...code...>#用time.time()也一样如果你用过ipython编辑器做过数据分析的话,也可以在ipython环境下执行命令:<...code...>来获取执行时间
2016-08-11
已采纳回答 / 慕瓜5474458
这代码是__len__这节的, def __str__(self): return str(self.numbers)意思应该把它变成字符串,但是这节标准答案没加str也行,加了也没错。所以我猜测这是Python的Bug,所以在3.4版本改正了。纯属猜测,我也是刚学到这一节。实际去验证吧class Fib(object): def __init__(self, num): a, b, L = 0, 1, [] for n in range(num): ...
2016-08-09
已采纳回答 / welwel
s.strip()就是删除字符串s前后的空格,len(s.strip)就是返回s中除去前后空格后的长度strip()中间为空时表示除去前后空格,不为空时eg:strip(rm),表示返回移除字符串头尾指定的字符rm后生成的新字符串
2016-08-08