Мне кажется, что результат работы метода count для строк не соответствует документации:
>>> help(str.count)
Help on method_descriptor:
count(...)
S.count(sub[, start[, end]]) -> int
Return the number of non-overlapping occurrences of substring sub in
string S[start:end]. Optional arguments start and end are
interpreted as in slice notation.
>>> "".count("")
1
>>> "a".count("")
2
>>> "ab".count("")
3
>>> "Привет".count("")
7
Это баг или фича? Складывается впечатление что он ищет '\0' в строке, но находит его у каждой буквы и в конце самой строки. Разве это правильно?