iterate over class variables

Yves Glodt y.glodt at sitasoftware.lu
Thu Nov 10 07:25:59 EST 2005


Yves Glodt wrote:
> Yves Glodt wrote:
>> Hello list,
>>
>> I need to iterate over a class and get all her variable names and 
>> values, e.g. considering this example:
>>
>>
>> class testclass:
>> 	var1 = 'ab'
>> 	var2 = 'cd'
>> 	var3 = 'ef'
>>
>> test = testclass()
>>
>>
>>
>> Then I wanna do sonmething like this:
>>
>> for name,value in test:
>> 	print name
>> 	print value
>>
>> fails with of course with:
>> "TypeError: iteration over non-sequence"
>>
>>
>> How can I do that?
> 
> sorry for selfreplying, but I found a solution:
> 
> for key in dir(test):
> 	if '__' not in key:
> 		value = getattr(test,key)
> 		print key, value
> 
> Does anything speak about this?

s/about/against

/me: s/more sleep/less party

> Is there a better-performing way to do this?
> 
> 
>> regards,
>> Yves



More information about the Python-list mailing list