callable(object, /)
判斷object是否可呼叫,若可呼叫則回傳True
函數與類別可呼叫,若類別實作__call__函數,其實例也可以呼叫
EX: 比較函數與基本類型是否可呼叫
1 2 3 4 5 6 7 8 9 10 |
def f(): return 5 print(callable(f)) # True x = 5 print(callable(x)) # False,int不可呼叫 y = "123" print(callable(y)) # False,str不可呼叫 |
EX: 類別與其實例是否可呼叫
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
class A: def __init__(self): pass a = A() print(callable(A)) # True print(callable(a)) # False,未實現__call__,實例不可呼叫 class B: def __call__(self): print('This is B') b = B() print(callable(b)) # True |