몇 가지 속성과 메소드가있는 python 객체가 있습니다. 객체 속성을 반복하고 싶습니다.
class my_python_obj(object):
attr1='a'
attr2='b'
attr3='c'
def method1(self, etc, etc):
#Statements
모든 객체 속성과 현재 값을 포함하는 사전을 생성하고 싶지만 동적 방식으로 수행하고 싶습니다 (따라서 나중에 다른 속성을 추가하면 함수를 업데이트해야한다는 것을 기억할 필요가 없습니다).
PHP에서 변수는 키로 사용할 수 있지만 파이썬의 객체는 설명 할 수 없으며 점 표기법을 사용하면 내 var의 이름으로 새로운 속성이 만들어집니다.
더 명확하게하기 위해 :
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
업데이트 : 속성을 사용하면 메서드가 아닌이 객체의 변수 만 의미합니다.
predicate
인수를 사용 하여 메서드를 제거하는 함수를 필터링 (바운드?)하는 콜 러블을 전달합니다.