Gostaria de saber quais são as diferenças específicas na terminologia que usamos para agrupar partes relacionadas do código. Às vezes, já vi os termos serem usados de forma intercambiável: muitas linguagens OO usam a palavra-chave "função" para definir um método. (Por quê?)
Se você quisesse ser preciso, quais são os significados específicos de cada um? Ou é exatamente o que cada idioma escolhe para chamá-lo?
Subé um Functionvalor sem retorno. Em Pythonvocê pode ter uma função que não faz parte de nenhuma classe, portanto não é um método. Você também pode declarar funções dentro de funções e também em C #. Às vezes, eles têm nomes diferentes pela mesma razão que maçãs e abacaxis: porque são diferentes.
functionpara métodos são JavaScript e PHP. Ambos usam a mesma palavra-chave para não métodos (funções livres) e, no caso do JavaScript, não há realmente uma distinção entre funções e métodos, pelo menos não no nível da linguagem.