Ainda não consegui identificar a diferença entre os dois, por exemplo:
def funcao(x,y) - Função
def metodo(self,x,y) - Método
Qual a diferença entre eles?
Ainda não consegui identificar a diferença entre os dois, por exemplo:
def funcao(x,y) - Função
def metodo(self,x,y) - Método
Qual a diferença entre eles?
Enquanto um método, é necessariamente preciso estar dentro de uma classe, a função pode ser definida por si só e chamada por si só. Exemplo:
Método
class Carro:
def som(self):
print "Vroooom!"
ferrari = Carro()
ferrari.som()
Função
def funcao(x,y):
return x+y
print(funcao(1,1))
Em outras palavras, o método é uma função especifica daquela Classe
Sintáticamente a resposta do Diego está certa. Mas o motivo dessa diferença de sintaxe que é relevante. Uma função pode realizar literalmente qualquer coisa em qualquer contexto. Para que você satisfaça a orientação à objetos, o método deve implicar também em uma semântica, aquele metódo deve definir um comportamento que aquela classe tem, como é mostrado nas aulas. Se você tem uma classe Conta, os métodos dessa classe devem ser coesos em relação a essa classe. Um exemplo seria, você tem que processar uma tranferência de uma pessoa para outra, indicando motivo localização e outras informações dessa tranferência, os métodos da classe Conta devem conter apenas as regras de negócio em relação a movimentação de valores entre as contas, você não deveria colocar métodos que especificam onde a tranferência foi feita e outras coisas que não fazem parte do escopo daquela classe, pois isso seria uma característica da tranferência e não da Conta.
Muito obrigado!
Só não esqueça de colocar como solucionado para a resposta que respondeu sua pergunta, para que outros possam vir neste tópico em busca de respostas também!