爲啥要寫這個東西?
最近在寫一個Python版本的web漏洞掃描器,開發途中遇到不少坑(python語言特性和第三方庫)。記錄一下以免下次再踩。
1. isinstance 和 type 的區別:
isinstance()
在判斷對象時考慮繼承關係,即子類歸屬於父類,此時返回值爲True。
type()
不考慮繼承關係,直接檢測對象的類型,這在集合類按需添加元素時會經常碰到。
2. py3的zip對象:
zip()
函數的返回值在Python3中變成了一個對象,該對象很好用,可以用list()
、dict()
等轉換成對應的結構。
值得注意的是在轉成字典、集合等結構時key值的唯一性(或者稱之碰撞),特別是在存儲一些看似零重複的數據時。