Hiểu các đối tượng có thể gọi được trong Python
Callable là một đối tượng Python có thể được gọi giống như một hàm. Nó là một đối tượng có phương thức `__call__`, là phương thức được gọi khi đối tượng được gọi.
Nói cách khác, một đối tượng có thể gọi được là một đối tượng có thể được coi như một hàm và có thể được gọi chỉ bằng các đối số giống như một hàm thông thường.
Đây là ví dụ về một đối tượng có thể gọi đơn giản trong Python:
```
class MyCallable:
def __init__(self):
pass
def __call__(self, arg1, arg2):
return "Xin chào thế giới! "
```
Đây là một lớp đơn giản có phương thức `__call__` nhận vào hai đối số, `arg1` và `arg2`. Khi chúng ta gọi đối tượng này, nó sẽ trả về chuỗi "Xin chào, thế giới!".
Chúng ta có thể gọi đối tượng này giống như một hàm bằng cách sử dụng toán tử `()`:
```
my_callable = MyCallable()
print(my_callable("apple ", "banana")) # Output: Hello, world!
```
Trong ví dụ này, chúng ta tạo một thể hiện của lớp `MyCallable` và gọi nó bằng các đối số là "apple" và "banana". Phương thức `__call__` sẽ được gọi với các đối số này và nó sẽ trả về chuỗi "Xin chào thế giới!".