On Sun, Sep 20, 2009 at 9:19 AM, Dave Angel <da...@ieee.org> wrote: > Peng Yu wrote: >> >> <snip> >>> >>> you might use: >>> >> >> Is __repr__ =_str__ copy by reference or by value? If I change >> __str__ later on, will __repr__ be changed automatically? >> >> Regards, >> Peng >> >> > > Reference or value? Neither one. This assignment is no different than any > other attribute assignment in Python. Technically, it binds the name > __repr__ to the function object already bound by __str__. You now have a > second name pointing to the same object. Rebinding one of those names to > yet another different object won't affect the other name. > > name1 = "this is a test" > name2 = name1 > name1 = "another string" #this has no effect on name2 > > print name1, name2
I am more familiar with C++ than python. So I need to connect python concept to C++ concept so that I can understand it better. name1 and name are all references (in the C++ sense), right? __repr__ and __str__ are references (in the C++ sense) to functions and both of them could refer to the same function or two different ones, right? Regards, Peng -- http://mail.python.org/mailman/listinfo/python-list