getting a dictionary of class variables and values
You need to filter out functions and built-in class attributes.
>>> class A:... a = 3... b = 5... c = 6... >>> {key:value for key, value in A.__dict__.items() if not key.startswith('__') and not callable(key)}{'a': 3, 'c': 6, 'b': 5}
Something like this?
class A(object): def __init__(self): self.a = 3 self.b = 5 self.c = 6 def return_class_variables(A): return(A.__dict__) if __name__ == "__main__": a = A() print(return_class_variables(a))
which gives
{'a': 3, 'c': 6, 'b': 5}
Use a dict comprehension on A.__dict__
and filter out keys that start and end with __
:
>>> class A: a = 3 b = 5 c = 6... >>> {k:v for k, v in A.__dict__.items() if not (k.startswith('__') and k.endswith('__'))}{'a': 3, 'c': 6, 'b': 5}