I've created a class that has a property which points at a private list. When I try to use the append() function on this list property, the fget method is fired rather than the fset method. If I directly set my property to a literal list, the set method fires.
Here's a stripped down version of my code: class Hierarchy(object): _children = [] def __init__(self): return def get_children(self): print("GETTING") return self._children def set_children(self, value): print("SETTING") self._children = value children = property(get_children, set_children) -----USAGE------ import Hierarchy hierarchy = Hierarchy.Hierarchy() # this fires a get for some reason hierarchy.children.append( Hierarchy.Hierarchy()) # this fires a set as expected hierarchy.children = [Hierarchy.Hierarchy()] ------RESULT------ it prints: GETTING SETTING -- http://mail.python.org/mailman/listinfo/python-list