python 用type動態建立乙個類

2021-10-12 14:06:48 字數 1144 閱讀 4907

class

person

(object):

def__init__

(self,name,age)

: self.name = name

self.age = age

p = person(

"alex",22

)

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

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

print

(type

(p))

#輸出

print

(type

(person)

)#輸出

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

def

__init__

(self,name,age)

: self.name = name

self.age = age

print

("init. "

, name,age)

person2 =

type

("person2",(

object,)

,)# person2 第一引數是類名

# (object,) 是這個類要繼承的類

# 是這個類的方法,可以傳入乙個字典

p = person2(

"alex",22

)print

(type

(person2)

)print

(person2.weight)

# weight是類屬性

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

Python中type()詳解 動態建立類

眾所周知 type 函式可以檢視變數的型別 先看乙個簡單的列子來看一下type檢視變數型別 class animal pass a animal print type a print type animal 可以發現我定義的animal類本身的型別是 type 從 python 直譯器的角度來看,當...

Python中type()詳解 動態建立類

眾所周知 type 函式可以檢視變數的型別 先看乙個簡單的列子來看一下type檢視變數型別 class animal pass a animal print type a print type animal class main animal class type 可以發現我定義的animal類本身...

Python 使用 type 動態建立類的方法

在 python 中可以定義如下的乙個靜態類 class person def init self,name,age self.name name self.age age defwho self print f 我叫,今年歲了 print type person 執行結果 class type 我...