From: Ned Deily Date: Sun, 21 Apr 2013 20:04:10 +0000 (-0700) Subject: Issue #17670: Provide an example of expandtabs() usage. X-Git-Tag: v2.7.5~51 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0729500b0194dd385fbe957bbccc8c9b5ae65f98;p=thirdparty%2FPython%2Fcpython.git Issue #17670: Provide an example of expandtabs() usage. --- diff --git a/Doc/library/stdtypes.rst b/Doc/library/stdtypes.rst index 1292e9bfd416..d4bf4484825b 100644 --- a/Doc/library/stdtypes.rst +++ b/Doc/library/stdtypes.rst @@ -931,10 +931,22 @@ string functions based on regular expressions. .. method:: str.expandtabs([tabsize]) 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. 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. + 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]])