嵌套函數與python
在python中的嵌套函數不被考慮閉合,因為它們不符合以下要求:不訪問局部範圍scliables to incling scliables在封裝範圍外執行範圍的局部範圍。 make_printer(msg): DEF打印機(): 打印(味精) 返回打印機在此處,打印機函數是make_printer中的嵌套函數。這是一個封閉式,因為它引用了make_printer返回後的本地變量msg。
閉合是一個函數,該函數是一個維護對封閉範圍的引用的函數,允許其在其自身範圍內定義的variobles訪問量牌。即使在封閉範圍已退出後,也可以維護此引用。
非關閉嵌套函數,另一方面,使用以下嵌套函數,它使用默認參數值,不是一個關閉:,當創建打印機時,變量msg綁定到默認值,並且它不會在其自己的範圍之外引用任何變量。因此,這不是封閉。 結論
nested函數不符合閉合定義通常稱為“嵌套功能”,以將它們與真實的關閉區分開。關閉對於保留封閉範圍的狀態可能很有用,而非關閉嵌套功能只是將功能封裝在詞彙範圍內。免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3