Bir sistemden veri almak, bazı değişiklikler yapmak ve bunları başka bir sisteme göndermek için kullanılan sınıflarım var. Hangi gerekli tüm dönüşümler yaptıktan sonra genellikle dict
veya list
dönüştürmek yolu gider.Bir sınıfı bir dict veya liste olarak temsil edin
Şimdiye kadar yaptığım şey, as_dict()
ve as_list()
adlı iki yöntem yaptığım ve bu gösterime her ihtiyaç duyduğumda kullanmış olduğum.
Ama dict(instance_of_my_class)
veya list(instance_of_my_class)
yapabilmek için bir yol olup olmadığını merak ediyorum.
magic methods üzerinde çalışıyordum ve bu mümkün değil gibi görünüyor mu?
class Cost(object):
@property
def a_metric(self):
return self.raw_data.get('a_metric', 0) * 0.8
[..]
# Repeat for various kinds of transformations
def as_dict(self):
return {
'a_metric': self.a_metric,
[...]
}
Neden sınıfı bir sözlük/listeye dönüştürmeniz gerekiyor? her sınıfta __dict__ yerleşik bir sınıf vardır, sınıf özniteliklerinin dahili olarak depolandığı yer, belki de bunu depolamak yeterlidir. – theAlse
Temelde 'obj .__ dict__' ile aynı olan vars()' yerleşik var. – gatto
@theAlse özellikle veritabanlarındaki güncellemeler için veya json – gaqzi