溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python如何實現(xiàn)類似defer的延遲調(diào)用

發(fā)布時間:2022-03-16 15:01:27 來源:億速云 閱讀:214 作者:小新 欄目:開發(fā)技術

這篇文章給大家分享的是有關python如何實現(xiàn)類似defer的延遲調(diào)用的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

實現(xiàn)類似 defer 的延遲調(diào)用

在 Golang 中有一種延遲調(diào)用的機制,關鍵字是 defer,例如下面的示例

import "fmt"  func myfunc() {     fmt.Println("B") }  func main() {     defer myfunc()     fmt.Println("A") }

輸出如下,myfunc 的調(diào)用會在函數(shù)返回前一步完成,即使你將 myfunc 的調(diào)用寫在函數(shù)的第一行,這就是延遲調(diào)用。

A B

那么在 Python 中否有這種機制呢?

當然也有,只不過并沒有 Golang 這種簡便。

在 Python 可以使用 上下文管理器 達到這種效果

import contextlib  def callback():     print('B')  with contextlib.ExitStack() as stack:     stack.callback(callback)     print('A')

輸出如下

A B

感謝各位的閱讀!關于“python如何實現(xiàn)類似defer的延遲調(diào)用”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI