[Python-Dev] Signature of function with default value uncapturable in Python and C (original) (raw)

Vajrasky Kok sky.kok at speaklikeaking.com
Thu Jan 16 03:25:01 CET 2014


Dear friends,

from itertools import repeat list(repeat('a', 3)) ['a', 'a', 'a'] list(repeat('a', 0)) [] repeat.doc 'repeat(object [,times]) -> create an iterator which returns the object\nfor the specified number of times. If not specified, returns the object\nendlessly.'

If you omit the times argument:

list(repeat('a')) ... unlimited of a .... sometimes it can hang your machine ....

In the C code it self, the default value of variable handling times argument is -1. It checks how many arguments you give to the function. So if you give -1 directly:

list(repeat('a', -1)) []

Negative value of times argument means 0.

So what is the correct signature of this function? The value is not really capturable in Python and C.

repeat(object [,times = unlimited]) ????

Can we do this in Clinic? If not, should we?

Vajrasky



More information about the Python-Dev mailing list