五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Context Manager 怎么理解?

2023-07-27 17:02 作者:Mr藍(lán)琿  | 我要投稿

Context Manager 是 Python 中的一種類。


按照鴨子類型(Duck typing)的說法,一個(gè)類只要有了 __enter__() 與 __exit__() 方法,那么這個(gè)類就是妥妥的 Context Manager 類。


最高級(jí)的理解就是制造。下面的 Python 代碼定義了一個(gè)不能干太多事情的類 SimpleClass, 這個(gè)類有且僅有兩個(gè)方法, ?__enter__() 與 __exit__()。 把這個(gè)類弄到 with block 中,檢查 __enter__() 與 __exit__() 何時(shí)會(huì)被調(diào)用。


猜猜上面代碼的輸出是什么?(A) Hi Bye True Here?(B)Hi Bye False Here ?(C) Hi True Bye Here (D) True Hi Bye Here


倒數(shù)第二行的 isinstance() 用于檢查 scm 對(duì)象是不是與抽象基類“雞肋”?AbstractContextManager 有關(guān)系。


其實(shí),open() 函數(shù)的返回值也是個(gè) Context?Manager 對(duì)象??梢杂孟旅娴拇a驗(yàn)證。你會(huì)發(fā)現(xiàn), dir(f) 中包含了 __enter__() 與 __exit__() 方法。


使用 Context?Manager 對(duì)象,讓 __exit__() 方法自動(dòng)做掃尾工作


Context Manager 怎么理解?的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
伊金霍洛旗| 全椒县| 大竹县| 新安县| 兴安县| 雷州市| 吴江市| 卓资县| 洛川县| 如东县| 新安县| 来凤县| 吴堡县| 灯塔市| 大化| 南京市| 霍林郭勒市| 泸州市| 长治市| 织金县| 洛隆县| 灵台县| 漾濞| 永年县| 池州市| 田阳县| 沾益县| 曲水县| 阳新县| 公安县| 南澳县| 南靖县| 荣成市| 竹北市| 获嘉县| 吴川市| 香格里拉县| 嵊州市| 娄烦县| 砀山县| 河西区|