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!