On 5/25/21 12:37 AM, Greg Ewing wrote:
On 25/05/21 9:27 am, Cameron Simpson wrote:
On 24May2021 16:17, hw <h...@adminart.net> wrote:
 >
Or it doesn't forget
about the old one and the old one becomes inaccessible (unless you
have a reference to it, if there is such a thing in python).  How do
you call that?

You're conflating values
(objects, such as an int or a string) with variables (which _are_
references in Python,

I think hw might have meant the C++ notion of a reference to
a *variable*. There is no equivalent of that in Python.

yes, or a reference in perl

Python does have references to *objects*. All objects live on
the heap and are kept alive as long as there is at least one
reference to them.

If you rebind a name, and it held the last reference to an
object, there is no way to get that object back.

Are all names references? When I pass a name as a parameter to a function, does the object the name is referring to, when altered by the function, still appear altered after the function has returned? I wouldn't expect that ...

On the other hand, if you shadow a name, the original name
still exists, and there is usually some way to get at it,
e.g.

 >>> int = 42
 >>> int
42
 >>> __builtins__.int
<class 'int'>
 >>>


You mean built-in objects never go away, even when they are no longer referenced?
--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to