類和物件的一些BIF

2022-06-25 12:03:14 字數 2542 閱讀 8441

issubclass #

用於判斷自己的子類

issubclass(a,b) #

a是不是b的子類,是返回true 否則 false 自身也屬於自己的子類

isinstance(object,classinfo) #

用於檢查乙個例項物件是否屬於乙個類 classinfo 可以傳入乙個元組

class

a(object):

pass

class

b(a):

pass

class

c(object):

pass

a=a()

b=b()

isinstance(a,a) -->true

isinstance(a,b) -->false

isinstance(b,a) -->true

isinstance(b,b) -->true

isinstance(b,(c,b)) -->true #

當傳入乙個元組時,只要有乙個為真,返回結果都是true

hasattr(object,name) #

attr=attribute:屬性 用於測試乙個物件裡面是否有指定的屬性

class

d(object):

def__init__(self,x=0):

self.x=x

d=d()

hasattr(d,'x

')-->true #

x傳入的必須是乙個字串不然會輸出異常

hasattr(d,x)

traceback (most recent call last):

file

"", line 1, in

nameerror: name 'x

'isnot defined

getattr(object,name[,default]) #

用於返回一些指定的屬性值

getattr(d,'x

')0getattr(d,'y

')traceback (most recent call last):

file

"", line 1, in

attributeerror: 'd

' object has no attribute 'y'

getattr(d,'y

','您所訪問的屬性值不存在。。。

') #

default 自定義返回資訊

'您所訪問的屬性值不存在。。。

'

setattr(object,name,value]) #

與getattr 獲取屬性不存在可以指定乙個新的值

setattr(d,'y

','fishc')

getattr(d,'y

','您所訪問的屬性值不存在。。。

')-->'

fishc

'

delattr(object,name) #

刪除屬性,如果刪除不存在的屬性會丟擲attributeerror異常

#

property 的方法和使用 在之前操作裡面乙個類的例項化物件,當乙個類被刪除時候 這個例項化物件不會被刪除,但用這個property 方法時候,類被刪除例項化物件也會被刪除

class

c(object):

def__init__(self,size=10):

self.size=size

defgetsize(self):

return

self.size

defsetsize(self,value):

self.size=value

return

self.size

defdelsize(self):

delself.size

x=property(getsize,setsize,delsize)

c=c()

c.x10c.x=18c.x

18c.getsize()

18del

c.xc.getsize()

traceback (most recent call last):

file

"", line 1, in

file

"", line 7, in

getsize

attributeerror: 'c

' object has no attribute '

size

'c.x

traceback (most recent call last):

file

"", line 1, in

file

"", line 7, in

getsize

attributeerror: 'c

' object has no attribute '

size

'

Python和類相關的一些BIF

issubclass class,classinfo class是否是classinfo的子類 繼承關係 classa def init self self.x 1def getsize self return self.x defsetsize self,value self.x value de...

類和物件 相關的BIF

一 issubclass class,classinfo 如果說第乙個引數是第二個引數的子類則返回true 注意 乙個類會被認為是自身的子類 classinfo 可以是類物件組成的元祖,只要class是其中 任何乙個候選類的子類,則返回true class a pass class b a pass...

python中一些相關的BIF

一些相關的bif issubclass class,classinfo class a pass class b a pass print issubclass b,a print issubclass a,b 輸出為true false意思是b類在a類裡面 isinstant object,cla...