1. 程式人生 > >面向物件反射

面向物件反射

三. 今日主要內容
1. issubclass, type, isinstance
issubclass 判斷xxx類是否是xxx類的子類
type 獲取到xxx物件的型別
isinstance 判斷xxx物件是否是xxx型別的(向上判斷)

2. 如何判斷一個方法或者一個函式(FunctionType, MethodType)
from types import FunctionType, MethodType
print(isinstance(xx, FunctionType)))
print(isinstance(xx, MethodType)))

結論 :
1. 例項方法:
用類名訪問. 函式
用物件訪問. 方法
2. 靜態方法
都是函式
3. 類方法
都是方法
3. 反射(重點)
hasattr(物件, 屬性(字串))
getattr(物件, 屬性(字串)) 從物件中獲取到xxx屬性

setattr(物件, 屬性, 值)
delattr(物件, 屬性) 從物件中刪除xxx屬性

4. md5加密
import hashlib
obj = hashlib.md5(加鹽)
obj.update(銘文的bytes)
obj.hexdigest() 獲取密文