Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #31444 > unrolled thread

Re: overriding equals operation

Started byDwight Hutto <dwightdhutto@gmail.com>
First post2012-10-16 21:51 -0400
Last post2012-10-16 21:51 -0400
Articles 1 — 1 participant

Back to article view | Back to comp.lang.python

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: overriding equals operation Dwight Hutto <dwightdhutto@gmail.com> - 2012-10-16 21:51 -0400

#31444 — Re: overriding equals operation

FromDwight Hutto <dwightdhutto@gmail.com>
Date2012-10-16 21:51 -0400
SubjectRe: overriding equals operation
Message-ID<mailman.2306.1350438716.27098.python-list@python.org>
On Tue, Oct 16, 2012 at 9:51 AM, Pradipto Banerjee
<pradipto.banerjee@adainvestments.com> wrote:
> I am trying to define class, where if I use a statement a = b, then instead of "a" pointing to the same instance as "b", it should point to a copy of "b", but I can't get it right.
>
> Currently, I have the following:
>
> ----
>
> class myclass(object):
>         def __init__(self, w3kschoolsname='')
>                 self.name = name
>
>         def copy(self):
>                 newvar = myclass(self.name)
>                 return newvar
>
>         def __eq__(self, other):
>                 if instance(other, myclass):
>                         return self == other.copy()
>                 return NotImplemented
> ----
>
> Now if I try:
>
>>>> a=myclass()
>>>> a.name = 'test'
>>>> b=a
>>>> b.name
> 'test'
>>>> b.name = 'test2'
>>>> a.name
> 'test2'
>
> I wanted b=a to make a new copy of "a", but then when I assigned b.name = 'test2', even a.name became 'test2'.
>
> How can I rectify my code to make the __eq__() behave like copy()?
>
> Thanks
>
>
>

If I'm understanding correctly(quick look at it), then write a new py
file and __import__ it if I'm remember correctly.

Use a secondary file to rewrite the existing nature of the python code
file, then import it, and utilize the remade secondary py file for
your usage..
-- 
Best Regards,
David Hutto
CEO: http://www.hitwebdevelopment.com

[toc] | [standalone]


Back to top | Article view | comp.lang.python


csiph-web