Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ฟังก์ชัน type() และ isinstance() ใน Python: ตรวจสอบชนิดข้อมูล

ในบทช่วยสอนนี้ เราจะเรียนรู้ฟังก์ชัน built-in type() และ isinstance() ใช้สำหรับตรวจสอบชนิดข้อมูล (Data Type) ของออบเจ็กต์

type(object)

คืนค่าชนิดข้อมูลของออบเจ็กต์ เช่น type(5) → <class 'int'>

ตัวอย่าง

val = 5
object_type = type(val)
print(object_type)

ผลลัพธ์

<class 'int'>

isinstance(object, class)

รับ 2 อาร์กิวเมนต์: object และ class คืนค่า True ถ้า object เป็น subclass ของ class นั้น มิฉะนั้น False

ตัวอย่างที่ 1: ตรวจสอบ set

nums = {1, 2, 3}
print(isinstance(nums, set))

ผลลัพธ์

True

ตัวอย่างที่ 2: ตรวจสอบ Custom Class

class SampleClass:
    def __init__(self):
        self.sample = 5

sample_class = SampleClass()
print(sample_class.sample)
print(isinstance(sample_class, SampleClass))

ผลลัพธ์

5
True

ความแตกต่างระหว่าง type() และ isinstance()

  • type() ตรวจสอบ exact type (ต้องตรงเป๊ะๆ)
  • isinstance() ตรวจสอบ inheritance hierarchy (รองรับ subclass ด้วย) - แนะนำให้ใช้ isinstance() สำหรับ type checking ทั่วไป

สรุป

ใช้ type() เมื่อต้องการเช็ค type แบบ exact ใช้ isinstance() เมื่อต้องการเช็ครวม subclass ด้วย (Best Practice) หากมีข้อสงสัย สามารถถามได้ในส่วนความคิดเห็น