62、metaclass
stackflow
中文翻譯
63、python物件協議
65、python的迭代器協議
iter(可迭代物件)-->返回迭代器iterator呼叫:呼叫一次返回乙個元素,當最後乙個元素返回後,再次呼叫時,丟擲stopiteration 異常
iterator.__next__()
或 next(iterator)
設計可迭代物件
上面的看起來沒意義
66、生成器
生成器,顧名思義,就是按一定的演算法生成乙個序列。
迭代器雖然在某些場景表現得像生成器,但它絕非生成器;反而是生成器實現了迭代器協議的,可以在一定程度上看作迭代器。
生成器函式
生成器還有兩個很棒的用處:
實現 with 語句的上下文管理協議,利用的是呼叫生成器函式時函式體並不執行,當第一次呼叫 next() 方法時才開始執行,並執行到 yield 表示式後中止,直到下一次呼叫 next() 方法這個特性;
實現協程,利用的是 send()、throw()、close() 等特性。
生成器88、
需要注意的是,linux 平台上 multiprocessing 的實現是基於 c 庫中的 fork(),所有子程序與父程序的資料是完全相同,因此父程序中所有的資源,如資料結構、開啟的檔案或者資料庫的連線都會在子程序中共享。但 windows 平台上由於沒有 fork() 函式,父子程序相對獨立,因此保持了平台的相容性,最好在指令碼中加上 if __name__ == "__main__" 的判斷,這樣可以避免出現 runtimeerror 或者死鎖。
a
改善python程式的91個建議讀書筆記1
引論 建議1 理解pythonic 的概念pythonic 也許可以遮陽定義 充分體現python 自身特色的 風格。python 中兩個變數交換只需一行 a,b b,a 遍歷乙個容器時可以為 for i in alist do sth with i 開啟檔案,需要安全的關閉檔案可以為 with o...
改善python程式的91個建議讀書筆記 3
建議7.將常量集中到乙個檔案 python的內建命名空間是支援一小部分常量的,如true,false,none.只是python沒有提供定義常量的直接方式而已.那麼在python中應該如何使用常量呢?一般來說有以下兩種方法 1.通過命名風格來提醒使用者該變數代表的意義為常量.如常量名所有字母大寫,用...
setsockopt 改善程式的健壯性
1.如果在已經處於 established狀態下的socket 一般由埠號和標誌符區分 呼叫closesocket 一般不會立即關閉而經歷time wait的過程 後想繼續重用該socket bool breuseaddr true setsockopt s,sol socket so reusea...