摘選改善Python程式的91個建議2

2022-04-10 17:57:37 字數 843 閱讀 1189

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...