Metoden callable () returnerar True om objektet som skickas verkar kallas. Om inte, returnerar den False.
Syntaksen för callable()
är:
kallbar (objekt)
callable () Parametrar
callable()
metoden tar ett enda argument object
.
Returvärde från callable ()
callable()
metoden returnerar:
True
- om objektet verkar kallasFalse
- om objektet inte kan anropas.
Det är viktigt att komma ihåg att även om det callable()
är så True
kan samtalet till objektet fortfarande misslyckas.
Men om du callable()
returnerar False
kommer samtalet till objektet verkligen att misslyckas.
Exempel 1: Hur callable () fungerar?
x = 5 print(callable(x)) def testFunction(): print("Test") y = testFunction print(callable(y))
Produktion
Falsk sann
Här kan inte objektet x kallas. Och objektet y verkar kunna kallas (men kanske inte kan kallas).
Exempel 2: Callable Object
class Foo: def __call__(self): print('Print Something') print(callable(Foo))
Produktion
Sann
Förekomsten av Foo
klass verkar vara anropbar (och kan anropas i det här fallet).
class Foo: def __call__(self): print('Print Something') InstanceOfFoo = Foo() # Prints 'Print Something' InstanceOfFoo()
Exempel 3: Objekt verkar kunna kallas men kan inte kallas.
class Foo: def printLine(self): print('Print Something') print(callable(Foo))
Produktion
Sann
Förekomsten av Foo
klass verkar vara anropbar men den kan inte anropas. Följande kod ger upp ett fel.
class Foo: def printLine(self): print('Print Something') print(callable(Foo)) InstanceOfFoo = Foo() # Raises an Error # 'Foo' object is not callable InstanceOfFoo()
Produktion
True Traceback (senaste samtalet senast): Fil "", rad 10, i TypeError: "Foo" -objektet kan inte anropas