Inconsistencia en la ayuda de Python ('cadena') versus la ayuda (lista)?

Cuando escribohelp('string') en el intérprete de python obtengo información sobre la clase de cadena. Allíupper() se indica como una función. Sin embargo, solo puedo llamarlo como un método como"hi".upper() en lugar deupper("hi").
Por lo tanto, se podría suponer que cualquier método se indicará como una función en las cadenas de documentos de los módulos integrados. Sin embargo, cuando lo hagohelp('list'), los métodos de la clase de lista se indican como métodos en las cadenas de documentos !!
¿Por qué esto es tan? ¿Solo porque la persona que escribió las doctrinas era inconsistente o porque otras personas lo escribieron? ¿O estos métodos (los llamados 'funciones' versus los llamados 'métodos' en las cadenas de documentos) tienen propiedades diferentes?

Respuestas a la pregunta(10)

Su respuesta a la pregunta