ในบทช่วยสอนนี้ เราจะอภิปรายเมธอดในตัว callable() ซึ่งรับอาร์กิวเมนต์ 1 ตัวและคืนว่าอาร์กิวเมนต์นั้น เรียกใช้ได้ (callable) หรือไม่ ถ้าเป็นฟังก์ชันหรือคลาส จะเป็น callable ส่วนค่าคงที่เช่น ตัวเลข จำนวนจริง สตริง เป็นต้น จะไม่ใช่ callable
ตัวอย่าง
มาดูตัวอย่างบ้าง
# นิยามฟังก์ชัน
def even(n):
return True if n % 2 == 0 else False
# ตรวจสอบว่า even() เรียกใช้ได้หรือไม่
print(callable(even))
ผลลัพธ์
ถ้ารันโค้ดข้างต้น จะได้ผลลัพธ์ดังนี้:
True
เพราะเราสามารถเรียกฟังก์ชันได้ เมธอด callable() จึงคืน True มาดูตัวอย่างที่คืน False
ตัวอย่าง
# กำหนดตัวเลข num = 7 # ตรวจสอบว่า num เรียกใช้ได้หรือไม่ print(callable(num))
ผลลัพธ์
ถ้ารันโปรแกรมข้างต้น จะได้ผลลัพธ์ดังนี้:
False
เราได้ False สำหรับค่าจำนวนเต็ม เพราะเราไม่สามารถเรียก num ได้เหมือนฟังก์ชันหรือคลาส ถ้าส่งชื่อคลาสให้ callable() จะคืน True ลองดู!
สรุป
ฟังก์ชัน callable() ใช้ตรวจสอบว่าอ็อบเจ็กต์ใดอ็อบเจ็กต์หนึ่งสามารถเรียกใช้งานได้ (เช่น ฟังก์ชัน คลาส เมธอด) หรือไม่