La mayoría de los idiomas son conscientes del idioma de "retorno de sí mismo", y lo ignoran si no se usa en una línea. Sin embargo, es notable que en Python, las funciones regresan None
por defecto.
Cuando estaba en la escuela CS, mi instructor hizo un gran trato sobre la diferencia entre funciones, procedimientos, rutinas y métodos; muchas preguntas de ensayo sobre calambres en las manos se resolvieron con lápices mecánicos que se calentaron en mis manos sobre todo eso.
Baste decir que devolver self es la forma definitiva de OO de crear métodos de clase, pero Python permite múltiples valores de retorno, tuplas, listas, objetos, primitivas o Ninguno.
Encadenar, como lo expresaron, es simplemente poner la respuesta a la última operación en la siguiente, y el tiempo de ejecución de Python puede optimizar ese tipo de cosas. Las comprensiones de listas son una forma incorporada de esto. (¡Muy poderoso!)
Por lo tanto, en Python no es tan importante que cada método o función devuelva cosas, por lo que el valor predeterminado es Ninguno.
Hay una escuela de pensamiento de que cada acción en un programa debe informar su éxito, fracaso o resultado a su contexto u objeto de invocación, pero luego no estaban hablando de los requisitos DOD ADA aquí. Si necesita obtener comentarios de un método, continúe o no, pero trate de ser coherente al respecto.
Si un método puede fallar, debe devolver el éxito o el fracaso o generar una excepción para ser manejado.
Una advertencia es que si usa el modismo propio de retorno, Python le permitirá asignar todos sus métodos a variables y podría pensar que está obteniendo un resultado de datos o una lista cuando realmente está obteniendo el objeto.
Los lenguajes de tipo restrictivo gritan, gritan y se rompen cuando intenta hacer esto, pero los interpretados (Python, Lua, Lisp) son mucho más dinámicos.