Listar atributos de un objeto [duplicado]
¿Hay alguna manera de obtener una lista de atributos que existen en instancias de una clase?
class new_class():
def __init__(self, number):
self.multi = int(number) * 2
self.str = str(number)
a = new_class(2)
print(', '.join(a.SOMETHING))
El resultado deseado es que se generará "multi, str". Quiero que esto vea los atributos actuales de varias partes de un script.
Aceptado
>>> class new_class():
... def __init__(self, number):
... self.multi = int(number) * 2
... self.str = str(number)
...
>>> a = new_class(2)
>>> a.__dict__
{'multi': 4, 'str': '2'}
>>> a.__dict__.keys()
dict_keys(['multi', 'str'])
También puede resultarle útil imprimir .
dir(instance)
# or (same value)
instance.__dir__()
# or
instance.__dict__
Luego puedes probar con qué tipo está type()
o si es un método con callable()
.