Python对象转字典,像调用字典元素一样调用类

<code>class Student(object):
def __init__(self, name, age, grade, score):
self.name = name
self.age = age
self.grade = grade
self.score = score

def study(self):
print(self.name + "正在学习...")

def keys(self):
return ["name", "age", "grade", "score"]

def __getitem__(self, item):
return getattr(self, item)/<code>

代码中,添加两个方法就可以使对象可以通过dict转字典:

<code> def keys(self):
return ["name", "age", "grade", "score"]

def __getitem__(self, item):
return getattr(self, item)/<code>

得到结果:

<code>a = Student("李杰", 17, "高三", "120")

# 像调用字典元素一样调用类
print(a["name"])
>>> 李杰
# 将类直接转字典
r = dict(a)
print(r)
>>>
{'name': '李杰', 'age': 17, 'grade': '高三', 'score': '120'}/<code>