¿Por qué "test" .count ('') devuelve 5? [duplicar

Esta pregunta ya tiene una respuesta aquí:

¿Por qué str.count ('') y len (str) dan resultados diferentes? 3 respuestas ¿Cómo funciona el método count ()? [duplicar 1 respuesta

Esta es corta, pero muy irritante. Sé que puedo contar la cantidad de veces que ocurre una cadena dentro de otra cadena como esta:

'banana'.count('a')
>>>3

significa quebanana contiene la letra"a" 3 veces

Aquí es donde se pone un poco raro.

Mi primera confusión es: cuando lo hago'foo'.count(''), ¿qué busca Python?

es'' == Ninguno == algo?

No parece ser el caso, pero, de nuevo, lo que ES'' lógicamente hablando? Y lo más importante, ¿por qué

'test'.count('')
>>>5

¿Devuelve uno más que la longitud de la cadena?

¿Qué demonios se incluye en una cadena que siempre es 1 más alta que la cantidad de letras? ¿el vacío

EDIT: el' personaje dos veces se parece a uno" personaje. Estoy hablando de dos veces' aquí, para evitar confusiones

EDIT2: Parece haber cierta confusión sobre cómo la cantidad de'' ocurrir. Consulte los comentarios a continuación.

Respuestas a la pregunta(2)

Su respuesta a la pregunta