Bom dia, Rodrigo, tudo beleza?
As funções len()
, max()
, input()
e min()
podem ser utilizadas de diversas formas por diferentes tipos built-in do python.
Podemos fazer:
lista = [1, 2, 3, 4]
len(lista) # Retorna 4
Assim como podemos fazer:
palavra = 'pera'
len(palavra) # Retorna 4
E também:
dicionario = {'a': 1, 'b': 2, 'c': 3, 'd': 4}
len(dicionario) # Retorna 4
Essa função funciona para todos esses tipos de dados igualmente, retornando o tamanho deste objeto, seja lá o que isso signifique dentro do contexto do objeto.
As funções strip()
, lower()
e upper()
são realmente métodos da classe str
. No python, tudo são objetos, até mesmo as próprias classes. Esses métodos, então, funcionam especificamente para aquele tipo de dado, não fazendo sentido aplicar em outros tipos de dados.
Por exemplo:
palavra.upper() # Retorna 'PERA'
lista.upper() # Dá erro visto que lists não possuem método upper()
dicionario.upper() # Dá erro visto que dicts não possuem método upper()
Em resumo, as funções built-ins são de aspecto mais geral, funcionando para mais de um tipo de dado dentro do código. Essas funções podem ser chamadas a qualquer instante fazendo funcao(argumentos)
. Os métodos, entretanto, são funções específicas para tipos de dados específicos, como o lower()
para strings e append()
para listas, por exemplo. Essas funções podem ser chamadas a qualquer momento fazendo instancia_objeto.funcao(parametros)
.
Espero ter ajudado! Um abraço!