Metoda callable () vraća True ako se prosljeđeni objekt čini dostupnim za pozivanje. Ako nije, vraća se False.
Sintaksa callable()
je:
može se pozvati (objekt)
callable () Parametri
callable()
metoda uzima jedan argument object
.
Povratna vrijednost iz callable ()
callable()
metoda vraća:
True
- ako se objekt čini dostupnim za pozivanjeFalse
- ako se objekt ne može pozvati.
Važno je imati na umu da, čak i ako callable()
jest True
, poziv na objekt još uvijek neće uspjeti.
Međutim, ako se callable()
vrati False
, poziv na objekt sigurno neće uspjeti.
Primjer 1: Kako funkcionira callable ()?
x = 5 print(callable(x)) def testFunction(): print("Test") y = testFunction print(callable(y))
Izlaz
Lažno Tačno
Ovdje se objekt x ne može pozvati. I, čini se da je objekt y moguće pozvati (ali ga možda nije moguće pozvati).
Primjer 2: Objekt koji se može pozvati
class Foo: def __call__(self): print('Print Something') print(callable(Foo))
Izlaz
Pravi
Čini se da je instanca Foo
klase dostupna za pozivanje (i u ovom se slučaju može pozvati).
class Foo: def __call__(self): print('Print Something') InstanceOfFoo = Foo() # Prints 'Print Something' InstanceOfFoo()
Primjer 3: Izgleda da se objekt može pozivati, ali se ne može pozvati.
class Foo: def printLine(self): print('Print Something') print(callable(Foo))
Izlaz
Pravi
Čini se da se instanca Foo
klase može pozvati, ali se ne može pozvati. Sljedeći će kôd dovesti do pogreške.
class Foo: def printLine(self): print('Print Something') print(callable(Foo)) InstanceOfFoo = Foo() # Raises an Error # 'Foo' object is not callable InstanceOfFoo()
Izlaz
True Traceback (najnoviji zadnji poziv): Datoteka "", red 10, u TypeError: 'Foo' objekt se ne može pozvati