Diferença entre métodos e funções, em Python, em comparação com C ++

Estou fazendo os tutoriais da Code Academy sobre Python e estou um pouco confuso sobre a definição de método e função. Do tutorial:

Você já conhece algumas das funções internas que usamos em (ou para criar) strings, como.upper(), .lower(), str()elen().

Vindo de C ++, eu pensaria.upper() e.lower() seria chamado de métodos elen() estr() funções. No tutorial, os termos parecem ser usados de forma intercambiável.

O Python faz distinção entre métodos e funções da maneira que o C ++ faz?

Ao contrárioDiferença entre um método e uma função, Estou perguntando sobre os detalhes do Python. Os termos 'método' e 'função' nem sempre seguem a definição dada na resposta aceita da pergunta vinculada.

questionAnswers(1)

yourAnswerToTheQuestion