Saya memiliki objek python dengan beberapa atribut dan metode. Saya ingin beralih pada atribut objek.
class my_python_obj(object):
attr1='a'
attr2='b'
attr3='c'
def method1(self, etc, etc):
#Statements
Saya ingin membuat kamus yang berisi semua atribut objek dan nilai-nilai mereka saat ini, tetapi saya ingin melakukannya dengan cara yang dinamis (jadi jika nanti saya menambahkan atribut lain saya tidak harus ingat untuk memperbarui fungsi saya juga).
Dalam variabel php dapat digunakan sebagai kunci, tetapi objek dalam python tidak dapat ditulis dan jika saya menggunakan notasi titik untuk ini, ia menciptakan atribut baru dengan nama var saya, yang bukan maksud saya.
Hanya untuk memperjelas:
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
Pembaruan: Dengan atribut yang saya maksud hanya variabel objek ini, bukan metode.
predicate
argumen opsional untuk meneruskan fungsi callable yang akan memfilter (terikat?) fungsi (yang menghilangkan metode).