En Python, si una función no tiene una statement de retorno, ¿qué devuelve?

Dada esta función de ejemplo:

def writeFile(listLine,fileName): '''put a list of str-line into a file named fileName''' with open(fileName,'a',encoding = 'utf-8') as f: for line in listLine: f.writelines(line+'\r\n') return True 

¿Esta return True algo útil?

¿Cuál es la diferencia entre con y sin ella? ¿Qué pasaría si no hubiera función de retorno?

Si una función no especifica un valor de retorno, devuelve None .

En una sentencia condicional if / then, None evalúa como False. Entonces, en teoría, podría verificar el valor de retorno de esta función para el éxito / fracaso. Digo “en teoría” porque para el código en esta pregunta, la función no detecta ni maneja excepciones y puede requerir un endurecimiento adicional.

La función siempre devuelve None si no se escribe el return explícito.

Si tiene el return True al final de la función, puede decir cosas como: a=writeFile(blah, blah)

Sin embargo, como siempre será True , es completamente inútil. Sería mejor devolver True si el archivo se escribió correctamente, etc.

Si no devuelve nada explícitamente, el valor será None

No tiene mucho sentido tener una statement de devolución por sí sola sin ser atribuida o verificada para una funcionalidad.

Python devuelve Ninguno si no se devuelve nada. En su caso, probablemente debería devolver verdadero si el archivo de apertura y la escritura se realizan correctamente