>>Not those kind of constants, but this one: > > >>Python 2.4.2 (#2, Nov 20 2005, 17:04:48) >>[GCC 4.0.3 20051111 (prerelease) (Debian 4.0.2-4)] on linux2 >>Type "help", "copyright", "credits" or "license" for more information. >> >>>>>CONST = 123456789 >>>>>a = CONST >>>>>a == CONST >> >>True >> >>>>>a is CONST >> >>True >> > > That's a little misleading, and goes back to the questions of "what is > assignment in Python?" and "What does it mean for an object to be > mutable?" > > The line "a = CONST" simply gives CONST a new name. After that, "a is > CONST" will be True no matter what CONST was. Under some circumstances, > I can even change CONST, and "a is CONST" will *still* be True.
Anyone who thinks it's a good idea to change a CONST that's not in a module that they have full control over must really know what they're doing or suffer the consequences. Most often, the consequences will be nasty bugs. Cheers! /Joel Hedlund -- http://mail.python.org/mailman/listinfo/python-list