1. 程式人生 > >python:類2——有關類和對象的BIF內置函數

python:類2——有關類和對象的BIF內置函數

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內置函數