Python koji se može nazvati ()

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 pozivanje
  • False - 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 Fooklase 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 Fooklase 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 

Zanimljivi članci...