五月天青色头像情侣网名,国产亚洲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ó)家法律
泗阳县| 平度市| 卫辉市| 青岛市| 正宁县| 吉木萨尔县| 分宜县| 萨迦县| 临漳县| 连南| 斗六市| 呼和浩特市| 佛山市| 大厂| 轮台县| 西吉县| 莎车县| 黄陵县| 工布江达县| 加查县| 广河县| 永胜县| 宁远县| 沂源县| 达拉特旗| 财经| 巴南区| 星子县| 鄂伦春自治旗| 辽阳县| 右玉县| 安康市| 应城市| 侯马市| 甘孜| 岳池县| 桦甸市| 修文县| 永吉县| 屯门区| 偃师市|