การตรวจสอบ Type ของ Variable ว่าเป็น Tuple หรือไม่
เมื่อต้องการตรวจสอบว่า Variable ใดๆ เป็น Tuple หรือไม่ สามารถใช้เมธอด type() ได้
Tuple คืออะไร?
Tuple เป็นข้อมูลชนิด Immutable (ไม่สามารถเปลี่ยนแปลงได้) หมายถึงค่าที่กำหนดไว้แล้วจะแก้ไขโดยการเข้าถึง Index ไม่ได้ หากลองเปลี่ยนจะเกิด Error ตัวแปรชนิดนี้สำคัญเพราะรับประกันการเข้าถึงแบบ Read-only
เมธอด type()
type() ใช้ตรวจสอบชนิดข้อมูลของ Object ที่ส่งเข้ามา
ตัวอย่างโค้ด
my_tuple_1 = (7, 8, 0, 3, 45, 3, 2, 22, 4)
print("The tuple is : ")
print(my_tuple_1)
my_result = type(my_tuple_1) is tuple
print("Is the given variable a tuple ? ")
print(my_result)
ผลลัพธ์
The tuple is : (7, 8, 0, 3, 45, 3, 2, 22, 4) Is the given variable a tuple ? True
คำอธิบาย
- กำหนด Tuple และแสดงผล
- ใช้
type(my_tuple_1) is tupleตรวจสอบ Type - Operator
isใช้เปรียบเทียบ Identity (ว่าเป็น Object เดียวกันจริงๆ) - เก็บผลลัพธ์ไว้ในตัวแปร
- แสดงผลบนคอนโซล
วิธีอื่นๆ ในการตรวจสอบ
# วิธีที่ 1: isinstance() - แนะนำให้ใช้
print(isinstance(my_tuple_1, tuple)) # True
# วิธีที่ 2: type() == tuple
print(type(my_tuple_1) == tuple) # True
# วิธีที่ 3: hasattr สำหรับเช็ค attribute เฉพาะ
print(hasattr(my_tuple_1, '__getitem__') and hasattr(my_tuple_1, '__len__')) # True
หมายเหตุ: ควรใช้ isinstance() มากกว่า type() is เพราะรองรับ Inheritance ด้วย