python學習記錄(四)(類)

聽得似懂非懂 現僅作記錄
關於類的一些函數
issubclass() 方法用於判斷參數 class 是否是類型參數 classinfo 的子類。

issubclass(class, classinfo)
參數
class – 類。
classinfo – 類。

返回值
如果 class 是 classinfo 的子類返回 True,否則返回 False。
自己是自己的子類

isinstance() 函數來判斷一個對象是否是一個已知的類型,類似 type()。
isinstance() 與 type() 區別:
type() 不會認爲子類是一種父類類型,不考慮繼承關係。
isinstance() 會認爲子類是一種父類類型,考慮繼承關係。
如果要判斷兩個類型是否相同推薦使用 isinstance()。

isinstance(object, classinfo)

參數
object – 實例對象。
classinfo – 可以是直接或間接類名、基本類型或者由它們組成的元組。
如果對象的類型與參數二的類型(classinfo)相同則返回 True,否則返回 False。

isinstance (a,(str,int,list)) # 是元組中的一個 也會返回True
True

hasattr() 函數用於判斷對象是否包含對應的屬性。

hasattr(object, name)
object – 對象。
name – 字符串,屬性名。
如果對象有該屬性返回 True,否則返回 False。

hasattr的升級版 getattr(object, name[,default])
在這裏插入圖片描述
setattr() 函數對應函數 getattr(),用於設置屬性值,該屬性不一定是存在的。不存在則新建
setattr(object, name, value)
delattr() 存在則刪除,不存在則報錯
delattr(object, name)

property() 函數的作用是在新式類中返回屬性值。

class property([fget[, fset[, fdel[, doc]]]])
參數
fget – 獲取屬性值的函數
fset – 設置屬性值的函數
fdel – 刪除屬性值函數
doc – 屬性描述信息
返回值
返回新式類屬性。

class C(object):
    def __init__(self):
        self._x = None
 
    def getx(self):
        return self._x
 
    def setx(self, value):
        self._x = value
 
    def delx(self):
        del self._x
 
    x = property(getx, setx, delx, "I'm the 'x' property.")
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章