作為一個Python菜鳥,之前一直懵懂於urllib和urllib2,以為2是1的升級版。今天看到老外寫的一篇《Python: difference between urllib and urllib2》才明白其中的區別You might be intrigued by the existence of two separate URL modules in Python -urllib and urllib2. Even more intriguing: they are not
一、概述:Python的GC模組主要運用了“引用計數”(reference counting)來跟蹤和回收垃圾。在引用計數的基礎上,還可以通過“標記-清除”(mark and sweep)解決容器物件可能產生的循環參考的問題。通過“分代回收”(generation collection)以空間換取時間來進一步提高記憶體回收的效率。二、引用計數在Python中,大多數對象的生命週期都是通過對象的引用計數來管理的。從廣義上來講,引用計數也是一種垃圾收集機制,而且也是一種最直觀,最簡單的垃圾收集技術。
一般來說在 Python 中,為瞭解決記憶體流失問題,採用了對象引用計數,並基於引用計數實現自動記憶體回收。由於Python 有了自動記憶體回收功能,就造成了不少初學者誤認為自己從此過上了好日子,不必再受記憶體流失的騷擾了。但如果仔細查看一下Python文檔對 __del__() 函數的描述,就知道這種好日子裡也是有陰雲的。下面摘抄一點文檔內容如下:Some common situations that may prevent the reference count of an object
很多開發人員在剛開始學Python 時,都考慮過像 c++ 那樣來實現 singleton 模式,但後來會發現 c++ 是 c++,Python 是 Python,不能簡單的進行模仿。Python 中常見的方法是藉助 global 變數,或者 class 變數來實現單件。本文就介紹以decorator來實現 singleton 模式的方法。範例程式碼如下:##----------------------- code begin -----------------------# -*-
測試的過程中經常需要截取螢幕,通常的做法是使用手機內建的截屏功能,然後將截屏檔案複製出來,這種方法的優點是不需要串連資料線就可截屏,缺點則是產生的截屏檔案命名是隨機命名的,複製出來也比較麻煩。另一種方法是使用PC端的手機小幫手類軟體。這裡使用python編寫一個截屏的指令碼,雙擊運行指令碼就OK,截屏成功後會將截屏檔案已目前時間命名,並儲存在存放指令碼的當前路徑的screenshot檔案夾下:#!/usr/bin/env python import os import time PATH =
這次這個真的是乾貨哦,昨晚弄了半晚上,,,,從8點吃完飯就開始寫,一直到了快12點才弄好,,,新手,傷不起呀。。。。先簡單的說下吧,百度提供了一個音樂搜尋的api,你想百度請求類似於http://box.zhangmen.baidu.com/x?op=12&count=1&title=最佳損友$$陳奕迅$$$$的地址,百度會給你返回一段xml,如下所示This XML file does not appear to have any style information