Python 物件導向 2

2022-06-24 12:24:15 字數 1355 閱讀 2292

組合

適合沒干係的橫向類,比如池塘,烏龜,魚】

把類的例項化放到新類裡面

屬性名和方法名相同,屬性會覆蓋掉方法

繫結

方法需要例項才能被呼叫!! 這種限制即繫結

用self接受繫結

class ball():

def xx(self,a):

print(...)

b = ball();

b.xx('123');

刪除del ball類時,b.xx('123')仍然可以呼叫

通過繫結使用例項屬性,類屬性通常用來跟蹤相關的值

類中定義的屬性和方法是靜態變數,類被刪除,這些仍然存在

類和物件相關的內建函式bif

issubclass(a,b)---如果a是b的子類,返回true

1.乙個類,自己是自己的子類

2.b可以是類物件組成的元組,只要a是其中任何乙個的子類,返回true

isinstance(a,b)--a是例項物件,b是類  a是否是b的例項物件

1.b頁可以是類或類元組

2.如果不是類/類元組 返回typeerror異常

3.a不是例項物件,永遠false

hasattr(物件,'屬性名')---測試物件是否有屬性

getattr(物件,'name'[,"default"])---返回物件指定的屬性值,如果該屬性不存在,【如果設定了default,則列印之】,否則丟擲typeerror異常

setattr(物件,'name',value)---設定物件屬性的值,如果該屬性不存在,新建

delattr(物件,'name')---存在,則刪除,不存在,丟擲attributeerror異常

property(fget=none//獲得屬性的方法,fset=none//設定,fdel=none//刪除,doc=none)---設定乙個新的屬性,去定義已有的屬性

python物件導向2

主要通用 新增到屬性名前,可以讓該屬性得到乙個保護 class wudang name 武當 kongfu list aaa bbb ccc wd wudang print wd.name print wd.kong list 定義類的時候,如果希望繼承自另外乙個類 可以通過 class 類名 父類...

Python 物件導向2

instance 和 issubclass class foo pass foo foo print isinstance foo,foo print isinstance 1 int true trueclass foo pass foo foo print isinstance foo,foo ...

Python 物件導向程式設計2

start object 類是所有類的父類,它定義了好多方法,重寫這些方法我們可以定製自己的類。我們可以比較兩個數字的大小,那我們自定義的類可不可以呢?其實很簡單,我們只需要重寫 object 類中定義的比較方法即可。class mynumber 初始化屬性 def init self,num se...