Python中可以使用type()
函數動態創建類。
type()
函數的三個參數分別是:
以下是一個示例代碼,演示了如何使用type()
函數動態創建類:
# 定義類的屬性和方法
attributes = {
'name': 'DynamicClass',
'age': 20,
'get_name': lambda self: self.name,
'set_name': lambda self, name: setattr(self, 'name', name),
}
# 使用 type() 函數創建類
DynamicClass = type('DynamicClass', (), attributes)
# 創建類的實例
obj = DynamicClass()
# 調用類的方法
print(obj.get_name()) # 輸出: DynamicClass
# 動態修改類的屬性
obj.set_name('NewClass')
print(obj.get_name()) # 輸出: NewClass
以上代碼中,attributes
字典定義了類的屬性和方法,其中name
是一個字符串類型的屬性,get_name
是一個獲取name
屬性值的方法,set_name
是一個設置name
屬性值的方法。
然后使用type()
函數創建了DynamicClass
類,該類繼承自空的父類()
,并且具有attributes
字典中定義的屬性和方法。最后通過實例化類,并調用方法來驗證類的創建是否成功。