Me pregunto cuáles son las diferencias específicas en la terminología que utilizamos para agrupar partes de código relacionadas. A veces he visto los términos usados indistintamente: muchos lenguajes OO incluso usan la palabra clave "función" para definir un método. (¿Por qué?)
Si quisieras ser preciso, ¿cuáles son los significados específicos de cada uno? ¿O es simplemente como lo llama cada idioma?
Subes un Functionsin valor de retorno. En Pythonpuede tener una función que no es parte de ninguna clase, por lo que no es un método. También puede declarar funciones dentro de funciones, y también puede hacerlo en C #. A veces tienen nombres diferentes por la misma razón que las manzanas y las piñas: porque son diferentes.
functionmétodos son JavaScript y PHP. Ambos usan la misma palabra clave para métodos que no son métodos (funciones libres), y en el caso de JavaScript no hay realmente una distinción entre funciones y métodos, al menos no a nivel de lenguaje.