Iteruj nad atrybutami obiektów w Pythonie

Mam obiekt Pythona z kilkoma atrybutami i metodami. Chcę iterować po atrybutach obiektu.

class my_python_obj(object):
    attr1='a'
    attr2='b'
    attr3='c'

    def method1(self, etc, etc):
        #Statements

Chcę wygenerować słownik zawierający wszystkie atrybuty obiektów i ich bieżące wartości, ale chcę to zrobić w sposób dynamiczny (więc jeśli później dodam inny atrybut, nie muszę też pamiętać o aktualizacji mojej funkcji).

W php zmienne mogą być używane jako klucze, ale obiekty w pythonie nie nadają się do zapisu i jeśli użyję do tego notacji kropkowej, to tworzy nowy atrybut o nazwie mój var, co nie jest moim zamiarem.

Aby wszystko było jaśniejsze:

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

Aktualizacja: Z atrybutami mam na myśli tylko zmienne tego obiektu, a nie metody.

questionAnswers(7)

yourAnswerToTheQuestion