[Python-Dev] AC Derby and accepting None for optional positional arguments (original) (raw)

Georg Brandl g.brandl at gmx.net
Thu Jan 16 13:15:03 CET 2014


Am 16.01.2014 12:39, schrieb Antoine Pitrou:

On Thu, 16 Jan 2014 04:42:43 -0500 Terry Reedy <tjreedy at udel.edu> wrote:

On 1/16/2014 3:31 AM, Serhiy Storchaka wrote: > 16.01.14 08:05, Guido van Rossum написав(ла): >> In this specific case it's clear to me that the special-casing of >> negative count is intentional -- presumably it emulates sequence >> repetition, where e.g. 'a'*-1 == ''. > > In this specific case it's contrary to sequence repetition. Because > repeat('a', -1) repeats 'a' forever.

'Forever' only when the keyword is used and the value is -1. In 3.4b2 >>> itertools.repeat('a', -1) repeat('a', 0) >>> itertools.repeat('a', times=-1) repeat('a') >>> itertools.repeat('a', times=-2) repeat('a', -2) Looks like a horrible bug to me. Passing an argument by position should mean the same as passing it by keyword!

Indeed, that should be fixed regardless of AC.

Georg



More information about the Python-Dev mailing list