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

2021-10-11 21:07:27 字數 1189 閱讀 4300

在 python 中可以定義如下的乙個靜態類:

class

person

:def

__init__

(self, name, age)

: self.name = name

self.age = age

defwho(self)

:print

(f'我叫,今年歲了'

)print

(type

(person)

)

執行結果:

<

class

'type'

>

我們可以看到,在 python 中定義的一般類的型別都是 type 型別,類也是物件(屬於元類的物件)。

而在 python 內建的函式之中,type() 除了可以返回某個物件的型別,還能動態建立類:

type(類名,由父類名稱組成的元組(可以為空),包含屬性的字典(名稱和值))

tips:在沒有繼承和定義屬性方法的時候,需要保留引數:type(類名, (), {})

class

person

:def

__init__

(self, name, age)

: self.name = name

self.age = age

defwho(self)

:print

(f'我叫,今年歲了'

)def

identity

(self)

:print

(f'我叫,我是一名學生'

)student =

type

('student'

,(person,),

)stu = student(

'張三',18

)print

(stu.gender)

stu.who(

)stu.identity(

)

執行結果:

我是一枚男生

我叫張三,今年18歲了

我叫張三,我是一名學生

Python使用type動態建立類操作示例

使用type動態建立類 動態語言和靜態語言最大的不同,就是函式和類的定義,不是編譯時定義的,而是執行時動態建立的。下面看乙個例子 定義乙個person類 class person object def init self pass def say self print say hello p per...

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類本身...