แน่นอนสิ่งนี้:
class Employee(object):
def __init__(self, initial_data):
for key in initial_data:
setattr(self, key, initial_data[key])
อัปเดต
ตามที่ Brent Nash แนะนำคุณสามารถทำให้สิ่งนี้มีความยืดหยุ่นมากขึ้นโดยอนุญาตให้ใช้อาร์กิวเมนต์คำหลักเช่นกัน:
class Employee(object):
def __init__(self, *initial_data, **kwargs):
for dictionary in initial_data:
for key in dictionary:
setattr(self, key, dictionary[key])
for key in kwargs:
setattr(self, key, kwargs[key])
จากนั้นคุณสามารถเรียกสิ่งนี้ว่า:
e = Employee({"name": "abc", "age": 32})
หรือเช่นนี้:
e = Employee(name="abc", age=32)
หรือแม้กระทั่งเช่นนี้:
employee_template = {"role": "minion"}
e = Employee(employee_template, name="abc", age=32)
def __init__(self,**initial_data)
คุณได้รับประโยชน์เพิ่มเติมจากการมีวิธีการเริ่มต้นที่สามารถสร้างอาร์กิวเมนต์คำหลักได้เช่นกัน (เช่น "e = Employee (name = 'Oscar')" หรือใช้ในพจนานุกรม (เช่น "e = Employee ( ** dict) ")