1
resposta

function(var) ou var.function()?

Olá, percebi que sempre acabo confundindo como usar uma função com a sintax correta, passando minha variável como parâmetro da função, ou passando por fora.

Exemplo: se eu quiser fazer um apend numa lista uso:

list.apend(object)

mas se eu quiser pegar o tamanha dessa mesma lista, uso:

len(list)

Ou seja, a própria lista vem como parâmetro da função. Como eu sei quando devo usar uma forma ou outra?

1 resposta

Fala, Abrahão, tudo bem?

A sua confusão decorre de não entender com clareza sobre os métodos built-in do python, isto é , os métodos que já nascem com a própria linguagem python e que independem de serem chamados por outros objetos. É esse justamente o caso do método len() que você citou. Por ser um método built-in, ele é chamado diretamente sem ser referenciado por qualquer objeto antes. O mesmo vale, por exemplo, para o método str(), que recebe um objeto e o converte para string, ou o método int() que recebe um objeto e o converte para inteiro...

Pense, por exemplo, no método print() que também é chamado diretamente e se encarrega de exibir seu conteúdo na tela.

Todos esses métodos built-in são chamados diretamente pelo seu próprio nome, não dependendo de objetos que os precedem na chamada.