Carroll, Barry wrote: > Greetings: > > I have a class that implements a die (singular or dice). Here is the class > definition: <SNIP a bunch of stuff> > How do I overload the '=' operator to give the desired behavior? > > Regards, > > Barry
AFAIK, you can't. Unlike, say, Java or C++, the assignment operator is not operating on an object, but instead a name. Consider: in C++ we define variables to a type: int myInt; Die myDie; etc, etc. We don't do this is python. Instead we assign an *object* to an *name* myInt=5 myDie=Die(6, 3) so that myDie is a name for the Die object you've just created. But you can also do this in python: myDie="Some string" Its not assigning to the myDie object, just the name myDie, so that now myDie is a name for a string containing "Some String" In other languages, its reasonable to think of variables as containers. That thinking isn't valid in Python. In Python, what you'd think of as 'variables' are just names for objects. (If you know C++, think pointers, sort of. myDie isn't the Die Object, its just a reference as to where the object is. Assigning to a pointer doesn't change the object, but what the pointer is pointing to.) Hope this helps, Jordan Greenberg _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor