diff Doc/lib/libstdtypes.tex @ 36580:8e13236243dd legacy-trunk

Bug #801349: document that start/stop/step slice arguments can be None
author Georg Brandl <georg@python.org>
date Sun, 19 Feb 2006 00:12:42 +0000
parents ea6a46d8c51e
children 92ce8bb8b12a
line wrap: on
line diff
--- a/Doc/lib/libstdtypes.tex	Sat Feb 18 23:44:24 2006 +0000
+++ b/Doc/lib/libstdtypes.tex	Sun Feb 19 00:12:42 2006 +0000
@@ -532,9 +532,10 @@
 \item[(4)] The slice of \var{s} from \var{i} to \var{j} is defined as
   the sequence of items with index \var{k} such that \code{\var{i} <=
   \var{k} < \var{j}}.  If \var{i} or \var{j} is greater than
-  \code{len(\var{s})}, use \code{len(\var{s})}.  If \var{i} is omitted,
-  use \code{0}.  If \var{j} is omitted, use \code{len(\var{s})}.  If
-  \var{i} is greater than or equal to \var{j}, the slice is empty.
+  \code{len(\var{s})}, use \code{len(\var{s})}.  If \var{i} is omitted
+  or \code{None}, use \code{0}.  If \var{j} is omitted or \code{None},
+  use \code{len(\var{s})}.  If \var{i} is greater than or equal to \var{j},
+  the slice is empty.
 
 \item[(5)] The slice of \var{s} from \var{i} to \var{j} with step
   \var{k} is defined as the sequence of items with index 
@@ -543,9 +544,9 @@
   are \code{i}, \code{i+k}, \code{i+2*k}, \code{i+3*k} and so on, stopping when
   \var{j} is reached (but never including \var{j}).  If \var{i} or \var{j}
   is greater than \code{len(\var{s})}, use \code{len(\var{s})}.  If
-  \var{i} or \var{j} are omitted then they become ``end'' values
+  \var{i} or \var{j} are omitted or \code{None}, they become ``end'' values
   (which end depends on the sign of \var{k}).  Note, \var{k} cannot
-  be zero.
+  be zero. If \var{k} is \code{None}, it is treated like \code{1}.
 
 \item[(6)] If \var{s} and \var{t} are both strings, some Python
 implementations such as CPython can usually perform an in-place optimization