最贊回答 / qq_憶_4
return f(x)是返回原來函數的返回值...fn是一個新函數...return fn是返回新函數..新函數? ? 新操作????調用舊函數是一個這樣的形式吧..也就是說這樣的話就擴充了舊函數的功能了..執行過程應該是這樣...先log(f)得到新函數的地址..之后調用新函數就完成了對舊函數的擴充...(這個地址的說法來源于C語言,理解的不對的地方還請諒解..菜鳥一只)
2015-07-17
最贊回答 / 5941
在本題你這么看好像是沒什么差別,但是你放到上一題就可以看出差別了。沒有return r,你調用factorial()的結果是None,因為沒有返回值回來。有了return r,才能輸出factorial計算的階乘答案。本題沒差別的原因是本題中并沒有調用factorial函數,而是只取了它的__name__這個屬性。
2015-07-13
最新回答 / 碼農的自我修養
?(f.__name__, t, unit)是個元組,%s可以理解成對應參數'call %s() in %f %s' % (f.__name__, t, unit) ?也可以這樣寫:'call %s() in %s [%s]' ?% (f.__name__, time.time()-start, unit)#f.__name__是取函數名,start=time.time(),開始運算時間,unit是傳入的單位。入門課程里面有個類似的,復雜表達式 ? ?那里
2015-07-12
最贊回答 / JS000
當調用count()時,開始執行循環語句,i分別變成1,2,3即fs=[f(1),f(2),f(3)],因為f1,f2,f3 = count(),因此f1=f(1),f2=f(2),f3=f(3)。然后執行f1(),f2(),f3(),即分別調用三個函數,由代碼可知def f(j):? ? ? ? ? ? def g():? ? ? ? ? ? ? ? return j*j? ? ? ? ? ? return g即f1=f(1)=g,所以f1()=g(),執行g函數,返回j*j,此時j=1 所以f1()=...
2015-06-30
最贊回答 / weibo_聾的全人_0
看了其他問答,自問自答一下:“就是因為在創建實例的時候,未知的屬性既要輸入屬性名又要為這個未知屬性賦值,所以是要k=v的格式,于是就是**kw而不是*agrs了?!?/div>
2015-06-23
- 課程須知
- 本課程是Python入門的后續課程 1、掌握Python編程的基礎知識 2、掌握Python函數的編寫 3、對面向對象編程有所了解更佳
- 老師告訴你能學到什么?
- 1、什么是函數式編程 2、Python的函數式編程特點 3、Python的模塊 4、Python面向對象編程 5、Python強大的定制類
微信掃碼,參與3人拼團