Python adlı adlandırılmış bir tuple sınıf var
class Town(collections.namedtuple('Town', [
'name',
'population',
'coordinates',
'population',
'capital',
'state_bird'])):
# ...
Kasaba örneklerini sözlüklere dönüştürmek istiyorum. Bir Kasabadaki alanların adlarına veya numaralarına katı bir şekilde bağlanmasını istemiyorum.
Daha fazla alan ekleyebileceğim veya tamamen farklı bir adlandırılmış tuple geçirip sözlük alabilecek şekilde yazmanın bir yolu var mı?
Orijinal sınıf tanımını başkasının kodunda olduğu gibi değiştiremiyorum. Bu yüzden bir Kasaba örneğini alıp sözlüğe dönüştürmem gerekiyor.
dict
yerine 'namedtuple' arasında ve başlatıcısı içine namedtuple geçmektedir. Cxx'e alışkınsanız, class Town(x)
yapıcı değil, def __init__(self, *args, **kwargs)
içinde olduğunu unutmayın.
dir
yalnızca bir python yerleşiktir ... herhangi bir python nesnesinde, bir konsolda veya bir komut dosyasında çalıştırabilirsiniz (burada bir liste döndürür, yazdırabileceğiniz veya yapabileceğiniz her şeyi yapabilirsiniz) ve ( ) nesnenin tüm niteliklerini gösterir. bilinmeyen bir nesnenin nasıl çalıştığını anlamaya çalışıyorsanız yardımcı olur.
dir
gösteren herhangi bir nesnenin alanlarını gösterecek komuta bakın_asdict
.