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