„Python“ iškviečiamas ()

Metodas callable () grąžina True, jei perduotas objektas atrodo iškviečiamas. Jei ne, jis grąžina False.

Sintaksė callable()yra:

 iškviečiamas (objektas)

skambinamieji () parametrai

callable() metodas reikalauja vieno argumento object.

Grąžinimo vertė iš skambinimo ()

callable() metodas grąžina:

  • True - jei objektas atrodo iškviečiamas
  • False - jei objekto negalima iškviesti.

Svarbu atsiminti, kad net jei callable()taip ir yra True, skambutis į objektą vis tiek gali nepavykti.

Tačiau jei callable()grįšite False, skambutis į objektą tikrai nepavyks.

1 pavyzdys: Kaip veikia „callable“)?

 x = 5 print(callable(x)) def testFunction(): print("Test") y = testFunction print(callable(y))

Rezultatas

 Melas, tiesa

Čia objekto x negalima iškviesti. Atrodo, kad objektas y gali būti iškviečiamas (bet gali nebūti iškviestas).

2 pavyzdys: skambinamas objektas

 class Foo: def __call__(self): print('Print Something') print(callable(Foo))

Rezultatas

 Tiesa

FooKlasės egzempliorius atrodo iškviečiamas (ir šiuo atveju yra iškviečiamas).

 class Foo: def __call__(self): print('Print Something') InstanceOfFoo = Foo() # Prints 'Print Something' InstanceOfFoo()

3 pavyzdys: Atrodo, kad objektas gali būti iškviečiamas, bet jo negalima iškviesti.

 class Foo: def printLine(self): print('Print Something') print(callable(Foo))

Rezultatas

 Tiesa

FooKlasės egzempliorius atrodo iškviečiamas, tačiau jo negalima iškviesti. Šis kodas sukels klaidą.

 class Foo: def printLine(self): print('Print Something') print(callable(Foo)) InstanceOfFoo = Foo() # Raises an Error # 'Foo' object is not callable InstanceOfFoo()

Rezultatas

 „True Traceback“ (paskutinis paskutinis skambutis paskutinis): „File“, 10 eilutė, „TypeError“ objekte: „Foo“ negalima iškviesti 

Įdomios straipsniai...