Junior
Šta je pozivni objekat (callable-objekat) u Pythonu?
sobes.tech АИ
Одговор од АИ
U Python-u, objekat koji je pozivljiv (callable) smatra se bilo kojim objektom koji se može pozvati kao funkcija. To znači da mu se može primeniti operator poziva ().
Pozivljivi objekti uključuju:
- Funkcije: Definisane pomoću ključne reči
def. - Metode: Funkcije povezane sa objektom (instancom klase).
- Klase: Poziv klase kreira novi primer te klase.
- Objekte sa metodom
__call__: Ako klasa definiše metodu__call__, primerci te klase postaju pozivljivi.
# Funkcija
def my_function():
pass
# Metoda
class MyClass:
def my_method(self):
pass
# Klasa
class AnotherClass:
pass
# Objekat sa __call__
class CallableObject:
def __call__(self, *args, **kwargs):
pass
# Provera pozivljivosti
import collections.abc
print(isinstance(my_function, collections.abc.Callable))
print(isinstance(MyClass().my_method, collections.abc.Callable))
print(isinstance(AnotherClass, collections.abc.Callable))
print(isinstance(CallableObject(), collections.abc.Callable))
Možete koristiti ugrađenu funkciju callable() za proveru da li je objekat pozivljiv.
# Provera pomoću callable()
print(callable(my_function))
print(callable(MyClass().my_method))
print(callable(AnotherClass))
print(callable(CallableObject()))
print(callable(123)) # Nepozivljivi objekat
Pozivljivi objekti su široko korišćeni u Python-u za implementaciju različitih obrazaca, kao što su dekoratori, povratni pozivi (callbacks) i funkcionalno programiranje.