最新回答 / 一顆好蛋
f表示reduce函數接受的函數 就是你之前def定義的函數 lst是reduce函數接受的數列 就是你傳進的數列 1是從1開始 如果你選100 就會從100開始 把100拿進去計算 比如:def prod(x,y):#prod 我這裏定義爲乘積函數 return x*yprint reduce( prod , lst ,100)假如lst=[1,2,3]結果爲1×2×3×100=600print reduce( prod , lst ,1)結果爲1×2×3×1=6
2018-01-01
已采纳回答 / 慕无忌7475743
我也在学习过程中,我是这样理解的:x=f() : 因为f()它的返回值是一个funtion, x就是一个函数,当你再调用x()时就会真正的去调用g()这个funciotn.我在执行f()和x=f()都打印了“call f()...” 当你x=f(),这个过程是调用了f(),没有调用g().只是返回了g()函数我用的是python 3.6.3的版本。
2017-12-29
最新回答 / Broken_Open
f和fn是不一样的。定义的log函数是重新定义原f函数, 所以log函数传入的参数f是原始函数名(地址),log函数返回结果fn是重新定义的函数名(地址),调用g = log(f1) g就是fn,所以:1. g=log(f1)print g(5) 2. @log def f1(n)...... print f1(5)1和2其实是等价的。
2017-12-29
已采纳回答 / 安妮的奇幻仙境
感觉有些乱,大概说下我的想法吧。你的performance传递的factor((10)),我觉得已经不是一个函数了,而是传递的一个值吧,factoral((10))可以认为是一个函数执行后得到的返回值。<...code...>
2017-12-28
最新回答 / windwhisper3828490
常用代码,https://docs.python.org/3.4/library/functions.html 或者 http://python.usyiyi.cn/translate/python_352/library/functions.html
2017-12-26