如果有一个看起来像这样的 json 数据集。
[
{'a':1,'b':'fire','c':'cambodia','type':'charizard'},
{'a':2,'d':'waterparks','type':'squirtle'},
{'a':3,'f':'thunder','type':'pikachu'}
]
并且需要将其转换为一组对象,其中可以使用相同的类来定义对象。
charizard = Pokemon(row_data)
pickachu = Pokemon(row_data)
squirtle = Pokemon(row_data)
但是属性可以通过点符号访问,就像这样。
charizard.a
pikachu.d
squirtle.a
使用传统课程的方法是这样的。
class Pokemon(object):
def __init__(self, data):
for k, v in data.items():
setattr(self, k, v)
有没有办法对命名元组或数据类或属性做基本相同的事情,适用于不同大小的数据,并具有这些数据类型的所有良好的不变性、repr 等功能。