Modifying Class Object
Alf P. Steinbach
alfps at start.no
Thu Feb 11 20:17:46 EST 2010
* Steven D'Aprano:
> On Thu, 11 Feb 2010 23:26:34 +0100, Alf P. Steinbach wrote:
>
>>> I presume you agree that the name 'Alf P. Steinbach' refers to you. Do
>>> you then consider it to be a 'reference' to you?
>> Yes, and that's irrelevant, because you can't change a name.
>
> Pardon me, but you most certainly can. Even Germany, which doesn't allow
> people to change their legal name for frivolous reasons, makes exceptions
> and will allow people to change their name if (e.g.) they have a sex
> change, or if they are burdened with a name that causes them ridicule,
> and presumably for their equivalent of the witness relocation program.
> And even Germany doesn't presume to tell people what name they are known
> by to their friends and family.
>
> In Python, one can't change names *in place*, because strings are
> immutable. (Although I have seen a hack with ctypes which allows you to
> modify string objects. It makes a nice trick, but is completely useless
> because of the side-effects.) Even if you could modify the name, that
> would break the namespace it was stored in. But of course you can change
> names in two steps:
>
> x = something()
> y = x
> del x
>
> And lo, we have changed the name x to y.
Good joke. :-)
Cheers,
- Alf
More information about the Python-list
mailing list