Discuss / Python / 打卡

打卡

Topic source

°Destiny

#1 Created at ... [Delete] [Delete and Lock User]
class Object(object):

    def __init__(self, name, age, gender):
        self.name = name
        self.age = age
        self.gender = gender


def dict2bean(obj, d):
    for k, v in d.items():

        if hasattr(obj, k):
            setattr(obj, k, v)
            obj.k = v #执行这一句就意味着obj创建了一个属性k,属性k一直通过循环被覆盖


d = {'name': 'sam', 'age': 26, 'gender': 'male'}
obj = Object('name', 'age', 'gender')

dict2bean(obj, d)
print(obj.name, obj.age, obj.gender)   #打印结果为 sam 26 male
print(obj.k)                           #打印结果为 male

  • 1

Reply