I am doing some writing about Python, and I want to make sure that what I am about to write is correct.
As an example, in the following, I am creating a pygame rect, then printing the left and right attributes. >>> myRect = pygame.Rect(10, 10, 30, 30) >>> print(myRect.left, myRect.right) 10 40 Then, I explicitly change the left attribute, and print the left and right again. >>> myRect.left = 50 >>> print(myRect.left, myRect.right) 50 80 This all works fine, just what I expect. But I'm curious about the implementation of this. When a line like this runs: myRect.left = 50 is this implemented with a property of a rect object, so it's actually calling a method with a property decorator? This would seem to be the case because I am changing just one value (left), but other values also change along with it - not only the right, but .center, etc. I have never looked at the pygame source code (maybe someone can tell me where the code that implements rects can be found). But for now, I would just like to know if these attributes (left, right, top, bottom, width, height, etc.) are all implemented as Python property decorators. Thanks, Irv