在Python中,我們可以使用循環來創建類。這種技巧特別適合需要大量創建類的情況,例如在數據庫中動態生成ORM(對象關系映射)類。
class Person(object): def __init__(self, name, age): self.name = name self.age = age for i in range(10): # 使用循環動態創建類 cls_name = f"Person{i}" cls = type(cls_name, (Person,), {}) # 創建實例并輸出信息 p = cls(f"Tom{i}", i) print(p.name, p.age)
在上面的例子中,我們使用循環創建了10個類Person0到Person9,并分別創建了實例并輸出實例的信息。其中,type函數的作用是創建類。第一個參數是類名,第二個參數是該類所繼承的父類(可以為空),第三個參數是類的屬性和方法(也可以為空)。
這種動態創建類的技巧在實際開發中也可以被用來實現插件機制等靈活的功能。需要注意的是,類名必須是字符串類型,而不是整數或其他類型。