Python izsaucams ()

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 izsaucams
  • False - 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 Fooklases 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 Fooklases 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 

Interesanti raksti...