物件族譜之歸納總結

2021-08-08 11:04:22 字數 1443 閱讀 6269

'''物件族譜之歸納總結'''

'''家族分類:

0.type

物件家族的原點,宇宙大**的奇點,python底層實現的基元類,不可追究

是基元類,是超元類,是父元類,是始祖類

1.元類

是類的類,type的子類,與type同屬於元類

該類生成的例項物件是物件類

2.物件類

物件家族的第二階級,是物件直接的管理者

是物件的類

3.物件

家族基層,是有生命的屬性和方法的集合

超然物外:

object:

生命之神,產生生命,生命本源

生命被類賦予屬性和行為方法,才造就了繁複多彩的物件

基本方法再解讀:

__new__:獲取物件

獲取物件,物件不一定是新生成的,可以自定義的返回

以下論述嚴格按照標準敘述,不討論自定義奇葩返回值

1.元類

呼叫type生成物件類

2.物件類

生成物件例項

物件類中未實現此方法則查詢對應元類__call__方法

對應元類未實現則在type中進行查詢,type內部已經實現此方法

__init__:初始化物件

對__new__返回的物件進行初始化

一切依據__new__返回物件進行操作

自定義奇葩返回物件不討論

1.元類

生成的物件為類,賦予的屬性都屬於類屬性

2.物件類

生成例項物件,賦予的屬性為例項物件屬性

__call__:物件方法呼叫

1.元類

生成物件為類,此方法必須生成返回物件,防止物件類未實現__new__方法導致生成物件失敗

2.物件類

自定義,工作中無要求隨意定義和使用

一般元類糾結點

一般自定義元類的糾結原因,在於其承上啟下的諸多概念

0.概念的初探

元類在之前的程式語言中並未出現,導致對新概念的不清晰,不了解

1.建立物件方法

由於建立的物件是類,不論是概念還是建立方法均屬於乙個迥異的邊緣,理解不清晰

2.__call__的限制

由於例項物件的懶惰,可能沒有實現__new__方法,不能自己建立物件

在自己建立物件之後,還需要為物件的物件建立考慮

在例項物件不能生育的情況下為他借宮產子

或許在簡單的方法複雜化之後,未能及時的加深理解,元類中還要考慮自身物件建立和物件物件建立的問題才是真正讓人摸不著門道的地方

__call__初始的無公害,無要求,未定義可能才是元類理解的盲點

畢竟也不是哪個類都追究如何產生乙個物件,都忽略了__new__方法的作用

如何建立乙個類,如何建立乙個物件,這或許是這次學習最大的收穫

建立物件也不是類名進行方法呼叫就會有的,其中還是有值得**的步驟

'''

物件族譜之類物件例項化過程

物件族譜之類物件例項化過程 class person object 獲取物件方法 def new cls,args,kwargs 物件獲取要點之一 獲取 當外部進行類名方法呼叫時,會呼叫 new 方法獲取物件例項 但只是獲取,並不一定是建立,也可以返回已經存在的乙個物件 返回的物件也不一定是當前類的...

Java物件導向選擇題總結歸納

把最近聽的寫的一些題目做下筆記!1.下列程式的執行,說法錯誤的是 abc public class multicatch c 42 99 system.out.println b b catch arithmeticexception e catch arrayindexoutofbound cep...

Select歸納總結

include include int select int maxfdpl,fd set readset,fd set write,fd set exceptset,const struct timeval timeout 返回值 該函式的返回值表示跨所有描述符集的已就緒的總位數。如果在任何描述符...