Discuss / Python / 运行出错NameError: name 'student2dict' is not defined

运行出错NameError: name 'student2dict' is not defined

Topic source

import json class Student(object): def init(self,name,age,score): self.name = name self.age = age self.score = score def student2dict(std): return { 'name': std.name, 'age': std.age, 'score': std.score } s = Student('Bob',20,88) print(json.dumps(s, default=student2dict)) 真心不知道为什么会报错啊。。。

因为定义的类实例到dict的转换函数,不属于Student类。要顶格。

转换函数和类要同级

student2dict 方法在 Student 类 中 dumps 方法 调用不到, 把 student2dict放在 与 Student 同级 就可以了


  • 1

Reply