[Python-ideas] Is there a good reason to use * for multiplication?

Joshua Landau joshua.landau.ws at gmail.com
Sun Oct 14 23:06:44 CEST 2012


On 14 October 2012 20:57, Mike Meyer <mwm at mired.org> wrote:

> On Sun, 14 Oct 2012 07:40:57 +0200
> Yuval Greenfield <ubershmekel at gmail.com> wrote:
>
> > On Sun, Oct 14, 2012 at 2:04 AM, MRAB <python at mrabarnett.plus.com>
> wrote:
> >
> > > If it's more than one codepoint, we could prefix with the length of the
> > > codepoint's name:
> > >
> > > def __12CIRCLED_PLUS__(x, y):
> > >     ...
> > >
> > >
> > That's a bit impractical, and why reinvent the wheel? I'd much rather:
> >
> > def \u2295(x, y):
> >     ....
> >
> > So readable I want to read it twice. And that's not legal python today so
> > we don't break backwards compatibility!
>
> Yes, but we're defining an operator for instances of the class, so it
> needs the 'special' method marking:
>
> def __\u2295__(self, other):
>
> Now *that's* pretty!
>
>     <mike
>

I much preferred your first choice:
def __$⊕__(self, other):

But to keep the "$" unused we can write:
def __op_⊕__(self, other):
(new methods will take precedence over the older __add__ and so forth)

What we can do then is use the "\u" syntax to let people without unicode
editors have accessibility:
def __op_\u2295__(self, other):
...later in the code...
new = first \u2295 second

Which adds consistency whereas before we could only use that in
specific circumstances (inside strings), reducing cognitive burden.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20121014/597419f4/attachment.html>


More information about the Python-ideas mailing list