Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Hàm callable() trong Python


callable(obj) trả về True nếu obj có thể được gọi như một hàm (có phương thức __call__), ngược lại trả về False.

Đối tượng callable

def func_callable():
    x = 3
    y = 5
    z = x ^ y  # XOR bitwise
    return z

# func_callable là function object -> callable
print("Function object:", callable(func_callable))  # True

# Gọi hàm
result = func_callable()
print("Kết quả gọi:", result)  # 6 (3 ^ 5 = 6)

Kết quả

Function object: True
Kết quả gọi: 6

Đối tượng KHÔNG callable

x = 3
y = 5
z = x ^ y  # z = 6 (int)

print("Integer:", callable(z))  # False
print("Giá trị z:", z)          # 6

Kết quả

Integer: False
Giá trị z: 6

Các loại callable phổ biến

  • Hàm (def, lambda)
  • Class (gọi để tạo instance)
  • Instance có định nghĩa __call__
  • Method của class
  • Built-in functions (len, print, ...)

Kết luận

callable() hữu ích khi viết code động (dynamic), kiểm tra trước khi gọi callback, plugin, decorator...