]> granicus.if.org Git - python/commitdiff
Issue #17670: Provide an example of expandtabs() usage.
authorNed Deily <nad@acm.org>
Sun, 21 Apr 2013 20:05:21 +0000 (13:05 -0700)
committerNed Deily <nad@acm.org>
Sun, 21 Apr 2013 20:05:21 +0000 (13:05 -0700)
Doc/library/stdtypes.rst

index 6ab7c37ee1ba3d5afdcf18c338f257a3327ffd6b..03ab5db38e45a5bc29af08ce2458d9af8d706efb 100644 (file)
@@ -1526,11 +1526,23 @@ expression support in the :mod:`re` module).
 
 .. method:: str.expandtabs([tabsize])
 
-   Return a copy of the string where all tab characters are replaced by zero or
-   more spaces, depending on the current column and the given tab size.  The
-   column number is reset to zero after each newline occurring in the string.
-   If *tabsize* is not given, a tab size of ``8`` characters is assumed.  This
-   doesn't understand other non-printing characters or escape sequences.
+   Return a copy of the string where all tab characters are replaced by one or
+   more spaces, depending on the current column and the given tab size.  Tab
+   positions occur every *tabsize* characters (default is 8, giving tab
+   positions at columns 0, 8, 16 and so on).  To expand the string, the current
+   column is set to zero and the string is examined character by character.  If
+   the character is a tab (``\t``), one or more space characters are inserted
+   in the result until the current column is equal to the next tab position.
+   (The tab character itself is not copied.)  If the character is a newline
+   (``\n``) or return (``\r``), it is copied and the current column is reset to
+   zero.  Any other character is copied unchanged and the current column is
+   incremented by one regardless of how the character is represented when
+   printed.
+
+      >>> '01\t012\t0123\t01234'.expandtabs()
+      '01      012     0123    01234'
+      >>> '01\t012\t0123\t01234'.expandtabs(4)
+      '01  012 0123    01234'
 
 
 .. method:: str.find(sub[, start[, end]])