Metode callable () atgriež vērtību True, ja nodotais objekts šķiet izsaucams. Ja nē, tas atgriež False.
Sintakse callable()
ir:
izsaucams (objekts)
izsaucamie () parametri
callable()
metode prasa vienu argumentu object
.
Atgriezeniskā vērtība no izsaucamā ()
callable()
metode atgriež:
True
- ja objekts šķiet izsaucamsFalse
- ja objekts nav izsaucams.
Ir svarīgi atcerēties, ka, pat ja tā callable()
ir True
, zvans uz objektu joprojām var neizdoties.
Tomēr, ja callable()
atgriezīsies False
, izsaukums uz objektu noteikti neizdosies.
1. piemērs: cik izsaucams () darbojas?
x = 5 print(callable(x)) def testFunction(): print("Test") y = testFunction print(callable(y))
Rezultāts
Nepatiesa Patiesība
Šeit objekts x nav izsaucams. Šķiet, ka objekts y ir izsaucams (bet var nebūt izsaucams).
2. piemērs: izsaucamais objekts
class Foo: def __call__(self): print('Print Something') print(callable(Foo))
Rezultāts
Patiesi
Šķiet, ka Foo
klases gadījums ir izsaucams (un šajā gadījumā ir izsaucams).
class Foo: def __call__(self): print('Print Something') InstanceOfFoo = Foo() # Prints 'Print Something' InstanceOfFoo()
3. piemērs: objekts, šķiet, ir izsaucams, bet nav izsaucams.
class Foo: def printLine(self): print('Print Something') print(callable(Foo))
Rezultāts
Patiesi
Šķiet, ka Foo
klases gadījums ir izsaucams, taču tas nav izsaucams. Šis kods radīs kļūdu.
class Foo: def printLine(self): print('Print Something') print(callable(Foo)) InstanceOfFoo = Foo() # Raises an Error # 'Foo' object is not callable InstanceOfFoo()
Rezultāts
True Traceback (pēdējais zvans pēdējais): Fails "", 10. rinda, TypeError: objekts 'Foo' nav izsaucams