小猿圈python學習 用type動態建立乙個類

2021-09-25 13:33:21 字數 795 閱讀 5880

class person(object):

definit(self,name,age):

self.name = name

self.age = age

p = person(「alex」,22)

上述**中,p 是通過 person 類例項化的物件,其實,不僅 p 是乙個物件,person類本身也是乙個物件,因為在python中一切事物都是物件。

如果按照一切事物都是物件的理論:p物件是通過執行person類的構造方法建立,那麼person類物件應該也是通過執行某個類的 構造方法 建立。

print(type§) #輸出

print(type(person)) #輸出

所以,p物件是person類的乙個例項,person類物件是 type 類的乙個例項,即:person類物件 是通過type類的構造方法建立。

type是如何建立乙個類的呢?

definit(self,name,age):

self.name = name

self.age = age

print("init. ", name,age)

person2 = type(「person2」,(object,),)

p = person2(「alex」,22)

print(type(person2))

了解類本身是通過type建立的還是挺重要的,以後我們在**中就可以動態的生成類了,而不是提前必須先定義好。 以後學到django web框架時,生成動態表單就用到這個知識點。

python小猿 小猿圈python學習 內建函式

python的len為什麼你可以直接用?肯定是直譯器啟動時就定義好了 每個函式的作用我都幫你標好了 abs 求絕對值 all return true if bool x is true for all values x in the iterable.if the iterable is empty...

小猿圈python學習 函式的遞迴

求100不斷除以2直到商為0為止,列印每次除的商 用迴圈實現 n 100 while n 0 n int n 2 print n 輸出 如果用函式,如何實現呢?def calc n n int n 2 print n if n 0 calc n 呼叫自己 calc 100 在函式內部,可以呼叫其他函...

小猿圈python學習 三特性之封裝

封裝可以被認為是乙個保護屏障,防止該類的 和資料被外部類定義的 隨機訪問。要訪問該類的 和資料,必須通過嚴格的介面控制。封裝最主要的功能在於我們能修改自己的實現 而不用修改那些呼叫我們 的程式片段。適當的封裝可以讓程式碼更容易理解與維護,也加強了 資料的安全性。封裝的優點 良好的封裝能夠減少耦合。類...