__setitem__ without position

Kevin Anthony kevin.s.anthony at gmail.com
Thu Oct 11 18:13:50 EDT 2012


I'm not supprised... and understand why it's happening.  I'm asking how to
get around it.

Basically i'm asking how to override, if i can, the `=`



On Thu, Oct 11, 2012 at 5:32 PM, Dave Angel <d at davea.name> wrote:

> On 10/11/2012 04:48 PM, Kevin Anthony wrote:
> > I have a class that contains a list of items
> > I can set items using __setitem__ but if i want to set the while list, i
> > changes the variable from a myclass to a list.  How can i accomblish this
> > Example
> >>>> C = myclass()
> >>>> C[0] = 57
> >>>> type(C)
> > myclass
> >>>> C = [57,58,59,60]
> This creates a list, and binds the name that used to refer to the
> myclass to now refer to the list.  The myclass object will go away,
> since there are no more refs to it.
>
> >>>> type(C)
> > list
> >
> >
> Why is that a surprise?
>
> As for how to add multiple items to the existing mylist, how about:
>
> for index, item in enumerate([57, 50, 59, 60]) :
>     C[index] = item
>
> Alternatively, you could call one of the other methods in the class.
> But since you gave us no clues, I'm shouldn't guess what it was called.
> But if I were to make such a class, I might use slicing:
>     C[:] = [57, 50, 59, 60]
>
> BTW, your naming capitalization is backwards.  Class names should begin
> with a capital,  Myclass.  Instances should begin with lowercase -
> myinstance
>
> --
>
> DaveA
>
>


-- 
Thanks
Kevin Anthony
www.NoSideRacing.com

Do you use Banshee?
Download the Community Extensions:
http://banshee.fm/download/extensions/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20121011/df215feb/attachment.html>


More information about the Python-list mailing list