¿Por qué una función de llamada en python contiene una variable igual a un valor?

Empecé a aprender python, y me gustaría preguntarte sobre algo que considero un poco mágico en este idioma.

Me gustaría señalar que antes de aprender python trabajé con PHP y no lo he notado.

¿Qué está pasando? He notado que algunos constructores de llamadas o métodos en Python están en esta forma.

object.call(variable1 = value1, variable2 = value2)

Por ejemplo, en FLask:

app.run(debug=True, threaded=True)

¿Hay alguna razón para esta convención? ¿O hay alguna razón semántica que salga de los fundamentos del lenguaje? No he visto algo así en PHP con tanta frecuencia como en Python y porque estoy realmente sorprendido. Tengo mucha curiosidad si hay algo de magia o solo es una convención leer el código más fácilmente.

Respuestas a la pregunta(5)

Su respuesta a la pregunta