I whish to define properties in a class from a member function. Below is some test code showing how I would like this to work. However I don\'t get the expected behaviour.>
Why are you defining properties at __init__ time? It's confusing and clever, so you better have a really good reason. The loop problem that Stef pointed out is just one example of why this should be avoided.
If you need to redifine which properties a subclass has, you can just do del self. in the subclass __init__ method, or define new properties in the subclass.
Also, some style nitpicks:
PropNames -> prop_namesPropNames doesn't really need to be a method