一、反編譯:html
https://blog.csdn.net/Focus_on_linux/article/details/52530022linux
1.1Windows下生成pyd文件(加密)spring
https://blog.csdn.net/Gavinmiaoc/article/details/84340736編程
[Windows下安裝Python擴展提示"Unable to find vcvarsall.bat"](http://www.javashuo.com/article/p-sgwzssaq-ee.html "Windows下安裝Python擴展提示"Unable to find vcvarsall.bat"")flask
二、斷言和異常:閉包
從軟件方面來講,錯誤是語法或者邏輯上的。ide
其中異常是:程序出現錯誤而在正常控制流以外採起的行爲。這個行爲分爲兩個階段:觸發(try)和處理(except/finally)。函數式編程
http://baijiahao.baidu.com/s?id=1598280118100072867&wfr=spider&for=pc函數
三、裝飾器的基礎是閉包,閉包的基礎是函數式編程。ui
函數式編程的基礎是:變量能夠指向函數(函數名也是變量),函數能夠做爲參數傳入。
函數式編程:
http://www.javashuo.com/article/p-yqbirxip-kb.html
閉包:
https://www.cnblogs.com/JohnABC/p/4076855.html
裝飾器:
https://blog.csdn.net/qq_26442553/article/details/82226657
四、AOP和裝飾器的關係:
AOP的概念及spring3對AOP的實現:
http://www.cnblogs.com/xrq730/p/4919025.html
Python對AOP的實現:裝飾器
https://blog.csdn.net/iyeahme/article/details/48314831
五、flask藍圖的使用
http://www.javashuo.com/article/p-tdazvizj-gg.html
五、Python中HASH方法與數據類型的關係
A、TypeError: unhashable type(list/set/dict)
list不使用hash值進行索引,故其對所存儲元素沒有可哈希的要求。set/dict反之,而dict僅對鍵值有可哈希的要求,對值無此要求。並且,這裏的哈希是對可迭代對象中所存儲的元素的要求。
https://blog.csdn.net/lanchunhui/article/details/50955238
B、Python變量分爲:不可變類型和可變類型
Python在聲明不可變類型時會在已經聲明的對象中尋找該對象是否已經被聲明過,若該對象被聲明過,變量會直接指向該對象不會再申請新的內存空間。
https://blog.csdn.net/lcvcl/article/details/79399754
PS:我認爲不可變集合不是不可變類型,由於聲明過的對象,申請了新內存。
C、集合與不可變集合
集合是一個無序的互異的可變的序列。集合中的元素必須是可hash的,即不可變的數據類型。
https://blog.csdn.net/keyboardwarrior/article/details/79028129
六、Python lock鎖與rlock鎖
Python中lock和rlock的區別:
a.lock只能被請求一次。且只有被釋放後才能夠再次被請求。
2.rlock被同一個線程請求屢次,但一樣也必須被相同的線程釋放鎖。
可重用鎖(rlock)內部維護着一個lock和counter 變量,counter記錄了acquire的次數,每次acquire,counter就加1;每次release,counter就減1。只有counter的值爲0時,其它線程才能獲取資源。