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 我...