為什么第一個得出的結論是 6,6 ,而第二個結果是6,7 ?我調試第一個的的時候把test函數完整的執行了兩遍,因為每次都要初始化x=5,所以才會出現結果都是6調試第二個的時候先執行a = funX(),這時候就會得到一個返回值funY,由于沒有加( ),所以funY這時候并不會執行,程序再往下,就是執行兩次a(),這兩次a()就是在執行funY(),每次都會疊加,所以得出的值6,7。?關于這兩個解釋,有什么問題嗎??還有一個不懂的就是上面就是標粗的地方,我覺得a( )執行的時候,就相當于funX( )( ),先執行funX(),然后再執行funY(),執行funX()的時候還是初始化x了又是等于5
關于python閉包的問題 ,求大佬指點
慕碼人3612724
2020-03-01 13:59:37