Python自學個人知識點記錄11 類和物件

2021-09-27 10:32:48 字數 1831 閱讀 1717

1.封裝:將資料放在乙個列表或其他序列字典中是基於資料層面的封裝,將常用的**段打包成乙個函式是基於語句層面的封裝,而物件就是這兩種封裝的合一。物件是模擬真實世界(例如乙隻龜靜態資料有顏色、體重等,動態資料有爬、跑等)把資料和**都封裝到一起,即物件=屬性+方法;

2.建立乙個物件也叫做類的例項化,舉例寫乙個類class turtle:在其中可以放上屬性和方法(及函式),(注意這裡的方法裡的引數如果寫了self,類似def climb(self),其中的self就相當於this,呼叫的時候可以不用寫,直接呼叫tt.climb()),然後tt = turtle(),此處tt即物件,可以呼叫類裡的屬性和方法,例如tt.color,就會輸出在類裡設定的屬性color=green的賦值green;

3.物件導向:oo=object oriented,特點:

①封裝:封裝了屬性及方法,封裝是一種資訊隱蔽技術,使得資訊更加安全;

②繼承:子類自動共享父類的屬性和方法的機制,舉例:

>>> class mylist(list):

pass

③多型:不同物件對同一方法響應不同的行動,舉例:

>>> a = a()

>>> b = b()

>>> a.fun()

我是小a

>>> b.fun()

我是小b

4.self:python的self相當於c++的this指標;

5.繼承:calss derivedclassname(baseclassname);被繼承的是父類,子類可以使用父類的屬性和方法,舉例:

>>> class parent:

def hello(self):

print("正在呼叫父類的方法")

>>> class child(parent):

pass     #pass就是乙個佔位符

>>> p=parent()

>>> p.hello()

正在呼叫父類的方法

>>> c=child()

>>> c.hello()

正在呼叫父類的方法;

注意:如果子類中定義與父類同名的方法或屬性,則會自動覆蓋父類對應的方法或屬性;

6.想要不覆寫父類方法,有兩個辦法,一是在子類的同名方法中呼叫父類的該方法,二是使用super()函式,舉例重名方法叫做a(),則在子類的a()方法裡寫super.a()就可以了;

7.python支援多重繼承,即可以繼承多個父類,class drivedclassname(base1,base2,base3);

①issubclass(class,classinfo),判斷class是否是classinfo子類,如果是則返回true,需要注意:這是非嚴格的檢查,首先乙個類是被認為是其自身的子類,第二點classinfo可以是類物件組成的元組,只要class是其中任何乙個候選類的子類,則返回true,其餘情況則丟擲typeerror,記住issubclass(a,object)也是返回的true;

②isinstance(object,classinfo),檢查object是否是類classinfo的例項物件,同樣也可傳入由類物件組成的元組;

③hasattr(object,name),attr=attribute屬性,測試乙個物件裡面是否有指定的屬性,舉例:

>>> class c:

def __init__(self,x=0):

self.x=x

>>> c1 = c()

>>> hasattr(c1,'x')

true

注意屬性名需要被引號框起來,否則會報錯;

④getattr(object,name[,default]),返回name屬性的值,如果不存在該name,如果設定了default預設值,則返回預設值

Python自學個人知識點記錄5 函式

1.建立函式使用def關鍵字就行,也可以帶上引數,如ceshi1 ceshi2 name ceshi3 name1,name2 2.可以使用關鍵字return來獲得返回值 3.形式引數parameter,實際引數argument 5.關鍵字引數 傳入實參的時候可以帶上關鍵字引數,例如ceshi1 n...

Python自學個人知識點記錄7 集合

1.集合的用處就是唯一,會自動將集合裡的重複值刪除,例如 num2 num2 2.集合不可以使用位置索引來查詢值 3.建立集合有兩種辦法,第一種用花括號建立類似上1.第二種是使用set 函式,set1 set 1,2,3,4,5 set1 type set1 set 函式的引數也是唯一,可以是列表 ...

知識點記錄

1 jensen不等式 jensen不等式表述如下 如果f是凸函式,x是隨機變數,那麼 特別地,如果f是嚴格凸函式,那麼 e f x f e x 當且僅當p x e x 1,也就是說x是常量。2 unet結構,卷積的三種模式 full,same,valid 其實這三種不同模式是對卷積核移動範圍的不同...