python 物件導向常用函式

2021-09-24 04:37:13 字數 2718 閱讀 5129

issubclass()

作用:檢測乙個類是否是另乙個類的子類

格式:issubclass(子類,父類)

返回值:布林值

注意事項:只要存在於繼承關係中 就成立

isinstance()

作用:檢測乙個物件是否是指定類的例項

格式:isinstance(物件,類)

返回值:布林值

hasattr()

作用:檢測類/物件是否包含指定名稱的成員

格式:hasattr(物件,'成員名稱')

返回值:布林值

注意:可以檢測類也可以檢測物件,只要可以訪問就算存在

getattr()

作用:獲取類.物件的成員值

格式:getattr(物件,『成員名稱』,預設值)

返回值:不確定

setattr()

作用:設定類/物件的成員屬性值

格式:setattr(物件,『成員名稱』,設定的值)

返回值:無

delattr()

作用:刪除類/物件的成員

格式:delattr(物件,『成員名稱』)

返回值:無

dir()

作用:獲取物件可以訪問的所有成員的列表

格式:dir(物件)

返回值:物件可以訪問的所有成員的列表

property() 後面講

作用:設定描述符操作的函式

# issubclass() 檢測乙個類是否是另乙個類的子類

class

father()

:pass

class

son(father)

:pass

res =

issubclass

(son,father)

print

(res)

# isinstance() 檢測指定物件是否是指定類的例項化

res =

isinstance([

1,2,

3,4,

5],tuple

)print

(res)

class

son():

pass

wsc = son(

)res =

isinstance

(wsc,son)

print

(res)

# hasattr() 檢測類/物件是否包含指定名稱的成員

class

shengwu

: life =

"活著"

class

human

(shengwu)

: name =

"hello"

defmove

(self)

:print

("yidong"

)# 例項化乙個物件

wenguang = human(

)res =

hasattr

(wenguang,

"life"

)print

(res)

# getattr() 獲取類/物件的成員值

class

human()

: name =

"hello"

defmove

(self)

:print

("yidong"

)# 例項化乙個物件

deffunc

(self)

:pass

wenguang = human(

)res =

getattr

(wenguang,

"na"

,func)

print

(res)

# setattr() 設定類/物件的成員屬性值

# 不存在則新建,存在則修改

class

human()

: __name =

"hello"

defmove

(self)

:print

("yidong"

)wenguang = human(

)print

(wenguang.__dict__)

setattr

(wenguang,

"name"

,"alice"

)print

(wenguang.__dict__)

setattr

(wenguang,

"name"

,"tommy"

)print

(wenguang.__dict__)

# 類print

(human.__dict__)

setattr

(human,

"bj"

,"吃了嗎?"

)print

(human.__dict__)

# delattr() 刪除

print

(human.__dict__)

delattr

(human,

"name"

)print

(human.__dict__)

# dir()

print

(dir

(wenguang)

)

Python 物件導向 eval 函式

eval 函式十分強大 將字串當成有效的表示式來求值 並返回計算結果 基本的數學計算 in 1 eval 1 1 out 1 2 字串重複 in 2 eval 10 out 2 將字串轉換成列表 in 3 type eval 1,2,3,4,5 out 3 list 將字串轉換成字典 in 4 ty...

Python 物件導向 super 函式

super 函式是用於呼叫父類 超類 的乙個方法。super 是用來解決多重繼承問題的,直接用類名呼叫父類方法在使用單繼承的時候沒問題,但是如果使用多繼承,會涉及到查詢順序 mro 重複呼叫 鑽石繼承 等種種問題。mro 就是類的方法解析順序表,其實也就是繼承父類方法時的順序表。語法 以下是 sup...

python物件導向 用函式實現物件導向原理

類的定義 乙個抽象的概念,儲存一些共有的屬性和特徵 物件 物件代表具體事物的特徵功能,是類的例項 物件導向程式設計 通過函式實現物件導向設計 defdog name,type,gender defjiao dog1 print 你看 s 狗再叫 dog1 name 函式的區域性作用域 defslee...