基本的にstring.countの機能を理解しようとしていました。文書化された定義は
string.count(s, sub[, start[, end]])
文字列 s[start:end] 内の部分文字列 sub の (重複しない) 出現回数を返します。開始と終了のデフォルトと 負の値の解釈は、スライスの場合と同じです。
さて、実際に太字になっている最後の行の正確な意味は何ですか. 私はこの機能でいくつかのランダムな実験をしました
In [19]: a
Out[19]: 'ab'
In [23]: string.count(a,'ab'[1:3])
Out[23]: 1
In [24]: string.count(a,'ab'[1:1])
Out[24]: 3
In [25]: string.count(a,'ab'[-1:1])
Out[25]: 3
In [26]: string.count(a,'ab'[-1:0])
Out[26]: 3
In [27]: string.count(a,'ab'[1:4])
Out[27]: 1
In [28]: string.count(a,'ab'[1:100])
Out[28]: 1
In [29]: string.count(a,'ab'[100:100])
Out[29]: 3
In [30]: string.count(a,'ab'[:])
Out[30]: 1
In [31]: string.count(a,'a'[:])
Out[31]: 1
なぜ時々結果が1になり、なぜ時々ここで3になるのか、誰か説明してもらえますか。全体的に、この関数が正確にどのように機能するかを理解する必要がありますか?