Funciones y métodos: ¿Son iguales?

-
Puede que tengas una pregunta que te inquieta: "¿Por qué tenemos tanto funciones como métodos, cuando prácticamente hacen lo mismo?"
-
En primer lugar, empecemos por lo obvio. Hay una clara diferencia en la sintaxis:
- Una función se parece a esto: function(algo)
- Y un método se ve así: algo.método()
-
A saber: un método siempre pertenece a un objeto (por ejemplo, en el método x.index(2), .index() necesitaba el objeto x para ser aplicable), mientras que una función no depende necesariamente de un objeto Python.
-
¡Todos los métodos son funciones, pero no todas las funciones son métodos!
-
Si esto no tiene sentido para ti (todavía), no te preocupes. Te prometo que la idea crecerá en ti a medida que uses Python más y más - especialmente cuando empieces a definir tus propias funciones y métodos.
