working with pointers

Michael slick_mick_00 at hotmail.com
Tue May 31 14:49:20 EDT 2005


"Steven Bethard" <steven.bethard at gmail.com> wrote in message
news:JJSdnXLcZdUsLQHfRVn-1w at comcast.com...
> Michael wrote:
> > Do expicit pointers exist in python??
> >
> > if i do:
> >
> > a = [5,7]
> > b = a
> >
> > a.empty()
> >
> > b = ?
>
> This is what the interactive prompt is for.  Try it:
>
> py> a = [5,7]
> py> b = a
> py> a.empty()
> Traceback (most recent call last):
>    File "<interactive input>", line 1, in ?
> AttributeError: 'list' object has no attribute 'empty'
>
> Well, looks like you get an AttributeError.  Let's try a method that
> actually exists instead:
>
> py> a.pop()
> 7
> py> a
> [5]
> py> b
> [5]
>
> So, as you can see, since 'a' and 'b' are both names referring to the
> same object, when you modify the object referred to by 'a', you are also
> modifying the object referred to by 'b'.
>
> > how do i do explicit pointers??
>
> I don't know what you mean by "explicit pointers".  Care to elaborate?
> It also might help if you explained what it is you think you want
> "explicit pointers" to do.
>
> STeVe

sorry, I'm used to working in c++ :-p

if i do
a=2
b=a
b=0
then a is still 2!?

so when do = mean a reference to the same object and when does it mean make
a copy of the object??

regards

Mike





More information about the Python-list mailing list