溫馨提示×

python動態創建類怎么實現

小億
123
2023-11-17 12:10:07
欄目: 編程語言

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字典中定義的屬性和方法。最后通過實例化類,并調用方法來驗證類的創建是否成功。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女