Trong Python, callable (có thể gọi) đề cập đến bất kỳ đối tượng nào có thể được gọi như một hàm. Nói cách khác, một đối tượng được xem là callable nếu bạn có thể sử dụng dấu ngoặc đơn ()
sau tên của nó mà không gặp lỗi. Các đối tượng callable trong Python bao gồm:
def
hoặc lambda
đều là callable.__call__
: Bất kỳ đối tượng nào định nghĩa phương thức __call__()
cũng có thể được gọi và do đó là callable.Bạn có thể sử dụng hàm callable()
để kiểm tra xem một đối tượng có thể gọi được hay không. Hàm này trả về giá trị True
nếu đối tượng là callable và False
nếu không.
def my_function(): return "Hello, World!" class MyClass: def __call__(self): return "Instance called!" # Kiểm tra các đối tượng print(callable(my_function)) # Kết quả: True print(callable(MyClass)) # Kết quả: True print(callable(MyClass())) # Kết quả: True print(callable(123)) # Kết quả: False
def greet(name): return f"Hello, {name}!" print(greet("Alice")) # Gọi hàm
class Greeter: def greet(self, name): return f"Hello, {name}!" greeter = Greeter() print(greeter.greet("Bob")) # Gọi phương thức
class Person: def __init__(self, name): self.name = name # Gọi lớp để tạo một thể hiện person = Person("Charlie") print(person.name) # Kết quả: Charlie
__call__
class Adder: def __call__(self, a, b): return a + b adder = Adder() print(adder(3, 5)) # Kết quả: 8
Callable là một khái niệm quan trọng trong Python, giúp bạn hiểu cách các đối tượng tương tác với nhau trong mã của bạn. Bằng cách sử dụng callable, bạn có thể tạo ra các hàm, phương thức và lớp linh hoạt, cho phép bạn viết mã hiệu quả và dễ hiểu. Khả năng kiểm tra xem một đối tượng có thể gọi được hay không giúp bạn xử lý các tình huống khác nhau trong lập trình Python một cách linh hoạt.