国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(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ó)家法律
绥滨县| 龙州县| 池州市| 富平县| 常宁市| 张家口市| 武穴市| 郓城县| 津南区| 龙江县| 青浦区| 陕西省| 大宁县| 延吉市| 广平县| 泗水县| 隆回县| 黄山市| 台中市| 普定县| 黄石市| 那坡县| 柘荣县| 新泰市| 临武县| 安仁县| 灵山县| 新营市| 内江市| 甘孜| 太湖县| 海南省| 祁东县| 泰宁县| 新竹市| 杭锦旗| 砚山县| 重庆市| 双辽市| 全南县| 承德市|