python:類2——有關類和對象的BIF內置函數
阿新 • • 發佈:2017-05-08
subclass 提前 變量 類和對象 ins peer 設置 clas 需要
1、檢查、判斷
issubclass(class, classinfo)如果第一個參數是第二個參數的子類,返回true,註意:
- 非嚴格(自己可以認為是自己的子類);
- 第二個參數可以是由多個class組成的tuple,有任何一個合適,就true;
- 其他情況對拋出typeerror
isinstance(object, classinfo)檢查某第一個參數實例對象是否屬於一個類
- 第二個參數可以是由多個class組成的tuple,有任何一個合適,就true;
- 如果第一個參數傳入不是對象類型,永遠返回false
- 如果第二個參數不是類或者由類對象組成的tuple,會拋出TypeError
2、點操作符號訪問對象屬性,attribute相關:
hasattr(object, name) 對象是否有制定的屬性name,name需要用引號括起來,否則他會認為是變量,
getattr(object, name [, default]) 獲得對象object的name屬性,如果不存在,返回default,若沒有設置default,不存在時會拋出AttributeError
- getattr(A, ‘b‘, ‘您所訪問的屬性不存在‘)
setattr(object, name, value) 設置對象name屬性的值為value,若屬性不存在會新建新的屬性
delattr(object, name) 刪除制定的屬性,若不在拋出AttributeError
property() 通過屬性設置屬性
- x = property(getSize, setSize, delSize)設置一個x屬性,能操作getSize、setSize、delSize(提前自己寫好)方法
- x可以作為調用接口,裏邊的方法可以大改,比如改名字等,增加方法。
- 工作原理:組合了幾個魔法方法
python:類2——有關類和對象的BIF內置函數