類 例項及其他物件的內建函式

2021-08-14 05:30:30 字數 3527 閱讀 7406

函式:issubcalss(sub,sup)

描述:如果類sub是類sup的子類,則返回true,否則返回false

例項

>>> class c1():pass

...>>> class c2():pass

...>>> class p(c1):pass

...>>> issubclass(p,c1)

true

>>> issubclass(p,c2)

false

函式:isinstance(obj1,obj2)

描述:如果例項obj1是類obj2或obj2子類的乙個例項;或者如果obj1是obj2的型別,則返回true,反之則為false

例項

>>> x = c1()

>>> y = p()

>>> isinstance(x,c1)

true

>>> isinstance(y,p)

true

>>> isinstance(y,c1)

true

>>> isinstance(1,int)

true

函式:hasattr(obj,attr)

描述:如果obj有屬性attr(用字串給出),返回true,反之false

例項

>>> hasattr(y,"foo")

false

>>> y.foo = 100

>>> hasattr(y,"foo")

true

函式:getattr(obj,attr[,default])

描述:獲取obj的attr屬性,如果attr不是obj的屬性,如果有預設值則提供預設值,若沒有則引發乙個attributeerror異常

例項

注:若attr不是obj的屬性,不會建立該屬性

>>> getattr(y,"foo")

100>>> getattr(y,"bar")

traceback (most recent call last):

file

"", line 1, in

attributeerror

:'p' object has no attribute 'ba

r'>>> getattr(y,"bar",200)

200>>> y.__dict__

函式:setattr(obj,attr,val)

描述:設定obj的attr屬性為val,替換任何已存在的屬性值,不然就建立屬性,類似obj.attr=val

例項

>>> setattr(y,"bar",3000)

>>> y.__dict__

>>> setattr(y,"bar",10)

>>> y.__dict__

函式:dalattr(obj,attr)

描述:從obj中刪除屬性attr(以字串給出):類似於del obj.attr

例項

>>> delattr(y,"bar")

>>> y.__dict__

函式:dir(obj=none)

描述:返回obj的屬性的乙個列表,如果沒有給定obj,dir()則顯示區域性名字空間中的屬性。

例項

>>> dir(y)

['__class__', '__delattr__', '__dict__', '__dir

__', '__doc__', '__eq__', '__format__', '__ge__

', '__getattribute__', '__gt__', '__hash__', '_

_init__', '__init_subclass__', '__le__', '__lt_

_', '__module__', '__ne__', '__new__', '__reduc

e__', '__reduce_ex__', '__repr__', '__setattr__

', '__sizeof__', '__str__', '__subclasshook__',

'__weakref__', 'foo']

>>> dir()

['c1', 'c2', '__annotations__', '__builtins__',

'__doc__', '__loader__', '__name__', '__packag

e__', '__spec__', 'p', 'y']

函式:super(type,obj=none)

描述:返回乙個表示父類型別的**物件。如果沒有傳入obj,則返回super物件是非繫結的;反之,如果obj是乙個type,issubclass(obj,type)必定為true,反則isinstance(obj,type)必為true

例項

>>> super(c1,p)

, object>>

>>> super(c1)

, null>

>>> super(c1,y)

, object>>

>>> super(c1,p)

, object>>

>>> super(p)

, null>

函式:vars(obj=none)

描述:返回obj的屬性及值得字典,如果沒有給出obj,則顯示區域性名字空間字典

例項

>>> vars()

, '__builtins__': 'builtins' (built-in)>, 'c1': '__main__.c1'>, 'c2':

'__main__.c2'>, 'y': <__main__.p object

at 0x00000209d3f23400>, 'p': '__main__.

p'>}

>>> vars(y)

Python 類 例項和其他物件的內建函式

1 issubclass issubclass 布林函式判斷乙個類是另乙個類的子類或子孫類。issubclass sub,sup issubclass 返回 true 的情況 給出的子類 sub 確定是父類 sup 的乙個子類 反之,則為 false 這個函式也允許 不嚴格 的子類,意味著,乙個類可...

其他類中的內建函式

一,類中內建函式 1,call self 可以直接把物件作為函式使用,實際上是過載了 這個符號 2,del self 在釋放物件時呼叫,也支援重寫,可以在裡面進行一系列釋放資源的操作 不需要顯式的呼叫,也就是說他會自動在物件資源銷毀時使用 預設呼叫 3,new self 之前我們一直在用init函式...

例項和其它物件的內建函式

類,例項和其它物件的內建函式 這都是我自己學習記錄,僅供參考!issubclass 布林函式,判斷乙個類是否由另乙個類派生。語法 issubclass 子類 sub 父類 sup isinstance 布林函式,判斷乙個物件是否是給定類的例項。語法 isinstance obj1 class obj...