diff --git a/Doc/library/functions.rst b/Doc/library/functions.rst --- a/Doc/library/functions.rst +++ b/Doc/library/functions.rst @@ -1203,7 +1203,8 @@ .. _func-str: -.. function:: str([object[, encoding[, errors]]]) +.. function:: str(object='') + str(object[, encoding[, errors]]) Return a string version of an object, using one of the following modes: diff --git a/Objects/longobject.c b/Objects/longobject.c --- a/Objects/longobject.c +++ b/Objects/longobject.c @@ -4849,13 +4849,20 @@ }; PyDoc_STRVAR(long_doc, -"int(x[, base]) -> integer\n\ +"int(x=0) -> integer\n\ +int(x, base=10) -> integer\n\ \n\ -Convert a string or number to an integer, if possible. A floating\n\ -point argument will be truncated towards zero (this does not include a\n\ -string representation of a floating point number!) When converting a\n\ -string, use the optional base. It is an error to supply a base when\n\ -converting a non-string."); +Convert a number or string to an integer, or return 0 if no arguments\n\ +are given. If x is a number, return x.__int__(). For floating point\n\ +numbers, this truncates towards zero.\n\ +\n\ +If x is not a number or if base is given, then x must be a string,\n\ +bytes, or bytearray instance representing an integer literal in the\n\ +given base. The literal can be preceded by '+' or '-' and be surrounded\n\ +by whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\n\ +Base 0 means to interpret the base from the string as an integer literal.\n\ +>>> int('0b100', base=0)\n\ +4"); static PyNumberMethods long_as_number = { (binaryfunc)long_add, /*nb_add*/ diff --git a/Objects/rangeobject.c b/Objects/rangeobject.c --- a/Objects/rangeobject.c +++ b/Objects/rangeobject.c @@ -136,7 +136,8 @@ } PyDoc_STRVAR(range_doc, -"range([start,] stop[, step]) -> range object\n\ +"range(stop) -> range object\n\ +range(start, stop[, step]) -> range object\n\ \n\ Returns a virtual sequence of numbers from start to stop by step."); @@ -969,7 +970,7 @@ { PyObject *start=NULL, *stop=NULL, *step=NULL; PyObject *range; - + /* create a range object for pickling */ start = PyLong_FromLong(r->start); if (start == NULL) diff --git a/Objects/sliceobject.c b/Objects/sliceobject.c --- a/Objects/sliceobject.c +++ b/Objects/sliceobject.c @@ -269,7 +269,8 @@ } PyDoc_STRVAR(slice_doc, -"slice([start,] stop[, step])\n\ +"slice(stop)\n\ +slice(start, stop[, step])\n\ \n\ Create a slice object. This is used for extended slicing (e.g. a[0:10:2])."); diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c --- a/Objects/unicodeobject.c +++ b/Objects/unicodeobject.c @@ -14083,7 +14083,8 @@ } PyDoc_STRVAR(unicode_doc, - "str(object[, encoding[, errors]]) -> str\n\ +"str(object='') -> str\n\ +str(bytes_or_buffer[, encoding[, errors]]) -> str\n\ \n\ Create a new string object from the given object. If encoding or\n\ errors is specified, then the object must expose a data buffer\n\