callable() în Python

Funcții încorporate Python 3.2+

Verifică dacă un obiect poate fi apelat ca o funcție, cu paranteze.

Sintaxă
callable(obiect)

Ce face callable()

callable(x) returnează True pentru funcții, metode, clase (apelul creează un obiect) și obiecte care au metoda __call__. Este util când un parametru poate fi o valoare sau o funcție care produce valoarea.

Parametri

Parametru Descriere
obiect Orice obiect.

Ce returnează

True sau False.

Exemple

Exemplul 1: Valoare sau funcție

print(callable(len), callable(str), callable("text"), callable(lambda: 1))

def valoare_implicita(implicit):
    return implicit() if callable(implicit) else implicit

print(valoare_implicita(0))
print(valoare_implicita(list))

Rezultat

True True False True
0
[]

Greșeli frecvente

  • Primești TypeError: 'str' object is not callable. De obicei ai dat unei variabile numele unei funcții (str = "...") și apoi ai apelat str().

Comenzi înrudite

  • def: Definește o funcție: un bloc de cod cu nume, pe care îl poți apela de oricâte ori.
  • lambda: Creează o funcție mică, fără nume, scrisă pe un singur rând.
  • type(): Returnează tipul unei valori (int, str, list…) sau, cu trei argumente, creează o clasă nouă.