我是python的新手(来自Java世界)。我有一个有两个属性的类。我需要另一个应该是对象的属性。
我怎样才能以pythonic的方式做到这一点?
这就是我试过的
class DummyData():
def __init__(self,lat,long):
self.lat = lat
self.long = long
self.data = []
loc_1 = DummyData(12,22)
my_data = {
"mess_11" : 0.002,
"mess_22" : 2.222,
"mess_33" : 3.23
}
loc_1.data = my_data
答案 0 :(得分:2)
你想要keyword args吗?
class DummyData:
def __init__(self,lat,long,**kwargs):
self.lat = lat
self.long = long
self.data = kwargs
loc_1 = DummyData(12,22,mess_11=0.002,mess_22=2.222,mess_33=3.23)
print(loc_1.data['mess_11']) # 0.002
或只是一个dict论点?
class DummyData:
def __init__(self,lat,long,dct):
self.lat = lat
self.long = long
self.data = dct
loc_1 = DummyData(12,22,{
"mess_11" : 0.002,
"mess_22" : 2.222,
"mess_33" : 3.23
})
print(loc_1.data['mess_11']) # 0.002
还是其他什么?
class DummyData:
def __init__(self,lat,long,dct):
self.lat = lat
self.long = long
self.data = type('myobj', (), dct)
loc_1 = DummyData(12,22,{
"mess_11" : 0.002,
"mess_22" : 2.222,
"mess_33" : 3.23
})
print(loc_1.data.mess_11) # 0.002