Python の split() の仕様

ディスクスペースの使用状況を取得する でたまたま気付きました。split() の動作をまとめたいなと思っていたら、良い記事を発見しました。私が気付いたの以下の内容ですが、幾つかの動作や他言語の動作についても書かれています。

分割パターン省略時は空白で分割
>>> "a b\tc\nd".split()
['a', 'b', 'c', 'd']

split の研究

ここで言う「空白」というのは「任意の長さの空白文字列(スペース、タブ、newlines、 return、formfeed)」になります。今回、たまたま自分のやりたい事にヒットしたので知っていると便利そうです。

split([sep [,maxsplit]])
sep を単語の境界として文字列を単語に分割し、分割された単語からなるリストを返します。 (したがって返されるリストはmaxsplit+1 の要素を持ちます) maxsplit が与えられていないかゼロの場合、無制限に分割が行なわれます(全ての可能な分割が行なわれる)。連続した区切り文字はグループ化されず、空の文字列を区切っていると判断されます(例えば "'1,,2'.split(',')" は "['1', '', '2']"を返します)。区切り文字を指定して空の文字列を分割すると、空のリストを返します。

sep が指定されていないか None が指定されている場合、異なる分割アルゴリズムが適用されます。単語は任意の長さの空白文字列(スペース、タブ、newlines、 return、formfeed)によって分割されます。た場合、最大で maxsplit 個になるように分割します。sep が指定されていないか None の場合、すべての空白文字が単語の境界になります。連続した空白の区切り文字は単一の区切り文字として扱われます("'1 2 3'.split()" は "['1', '2', '3']" を返します)。空の文字列への分割は "['']" を返します。

2.3.6.1 文字列メソッド