Birkaç öznitelik ve yöntem ile bir python nesnesi var. Nesne öznitelikleri üzerinde yineleme yapmak istiyorum.
class my_python_obj(object):
attr1='a'
attr2='b'
attr3='c'
def method1(self, etc, etc):
#Statements
Tüm nesne özniteliklerini ve geçerli değerlerini içeren bir sözlük oluşturmak istiyorum, ancak dinamik bir şekilde yapmak istiyorum (daha sonra başka bir öznitelik eklerseniz işlevimi de güncellemeyi hatırlamak zorunda değilim).
Php değişkenleri anahtar olarak kullanılabilir, ancak python nesneler açıklanamaz ve bunun için nokta gösterimi kullanırsanız, benim var adı olan yeni bir öznitelik oluşturur, bu benim niyetim değil.
Sadece işleri daha net hale getirmek için:
def to_dict(self):
'''this is what I already have'''
d={}
d["attr1"]= self.attr1
d["attr2"]= self.attr2
d["attr3"]= self.attr3
return d
·
def to_dict(self):
'''this is what I want to do'''
d={}
for v in my_python_obj.attributes:
d[v] = self.v
return d
Güncelleme: Özniteliklerle yöntemlerin değil, yalnızca bu nesnenin değişkenleri anlamına gelir.
predicate
argümanı, filtrelenen (bağlı?) işlevleri filtreleyecek (yöntemlerden kurtulan) bir çağrıyı iletmek için kullanırsınız .