> On Apr 15, 2018, at 9:04 PM, Peter Norvig <pe...@norvig.com> wrote:
> it would be a bit weird and disorienting for the arithmetic operators to have 
> two different signatures:
>     <counter> += <counter>
>     <counter> -= <counter>
>     <counter> *= <scalar>
>     <counter> /= <scalar>
> Is it weird and disorienting to have:
> <str> += <str>
> <str> *= <scalar> 

Yes, there is a precedent that does seem to have worked out well in practice 
:-)  It isn't exactly parallel because strings aren't containers of numbers, 
they don't have & and |, and there isn't a reason to want a / operation, but it 
does suggest that signature variation might not be problematic.  

BTW, do you just want __mul__ and __rmul__?  If those went in, presumably there 
will be a request to support __imul__ because otherwise c*=3 would still work 
but would be inefficient (that was the rationale for adding inplace variants 
for all the current arithmetic operators). Likewise, presumably someone would 
legitimately want __div__ to support the normalization use case.  Perhaps less 
likely, there would be also be a request for __floordiv__ to allow exactly 
scaled results to stay in the domain of integers.  Which if any of these makes 
sense to you?

Also, any thoughts on the cleanest way to express the computation of a 
chi-squared statistic (for example, to compare observed first digit frequencies 
to the frequencies predicted by Benford's Law)?  This isn't an arbitrary 
question (it came up when a professor first proposed a variant of this idea a 
few years ago).

Python-ideas mailing list
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to