การตรวจสอบประเภทของออบเจกต์ใน Python
เพื่อตรวจสอบประเภทขององค์ประกอบ คุณต้องใช้
ฟังก์ชัน isinstance มันรับพารามิเตอร์แรก
เป็นองค์ประกอบ และพารามิเตอร์ที่สองเป็น
ประเภทที่ต้องการตรวจสอบ ในกรณีนี้
ชื่อสำหรับพารามิเตอร์ที่สอง
จะใช้ชื่อฟังก์ชันที่แปลงข้อมูล
เป็นประเภทที่เกี่ยวข้อง: สำหรับสตริง - str,
ตัวเลข - int, ลิสต์ - list
เป็นต้น ฟังก์ชัน isinstance ส่งคืน
ค่าบูลีน: หากองค์ประกอบตรงกับ
ประเภท จะส่งคืน True ใน
กรณีตรงกันข้าม - False
ตัวอย่าง
สมมติว่าเรามีตัวแปร tst
ลองตรวจสอบว่าค่าของมันเป็น
สตริงหรือไม่ สำหรับสิ่งนี้ ทางขวาของ if
เราเขียนฟังก์ชัน isinstance ใน
พารามิเตอร์ของมัน เราส่ง tst และประเภท
str หากค่าข้อมูลและประเภท
ตรงกัน ก็ให้แสดงข้อความที่เกี่ยวข้อง:
tst = 'a'
if isinstance(tst, str):
print('string')
ผลลัพธ์ของการรันโค้ด:
'string'
ตัวอย่าง
ตอนนี้ลองตรวจสอบว่า ตัวแปรเป็นจำนวนเต็มหรือไม่:
tst = 12
if isinstance(tst, int):
print('integer')
ผลลัพธ์ของการรันโค้ด:
'integer'
ตัวอย่าง
เพื่อตรวจสอบว่า tst
เป็นตัวเลขทศนิยมหรือไม่ ใน
พารามิเตอร์ที่สองของ isinstance ควรส่ง
ประเภท float:
tst = 12.0
if isinstance(tst, float):
print('float')
ผลลัพธ์ของการรันโค้ด:
'float'
ตัวอย่าง
ตอนนี้ลองเขียนเงื่อนไขเพื่อ
ตรวจสอบ tst ว่าเป็นลิสต์หรือไม่:
tst = [1, 2, 3]
if isinstance(tst, list):
print('list')
ผลลัพธ์ของการรันโค้ด:
'list'
ตัวอย่าง
ลองตรวจสอบว่าตัวแปรเป็น ทูเพิลหรือไม่:
tst = (1, 2, 3)
if isinstance(tst, tuple):
print('tuple')
ผลลัพธ์ของการรันโค้ด:
'tuple'
ตัวอย่าง
ตอนนี้มากำหนดเงื่อนไขเพื่อค้นหา ว่าค่าของตัวแปรเป็นดิกชันรีหรือไม่:
tst = {'a': 1, 'b': 2, 'c': 3}
if isinstance(tst, dict):
print('dictionary')
ผลลัพธ์ของการรันโค้ด:
'dictionary'
โจทย์ฝึกปฏิบัติ
สมมติว่าคุณมีตัวแปร ตรวจสอบว่า ค่าของมันเป็นจำนวนเต็มหรือไม่
ค้นหาว่าตัวแปรที่กำหนดเป็น ตัวเลขทศนิยมหรือไม่
ตรวจสอบว่าตัวแปรมีค่าเป็นสตริง หรือไม่
ตรวจสอบว่าตัวแปรที่กำหนด เป็นดิกชันรีหรือไม่
ตรวจสอบว่าตัวแปรที่กำหนด เป็นเซ็ตหรือไม่
ตรวจสอบว่าตัวแปรที่กำหนด เป็นทูเพิลหรือไม่
ตรวจสอบว่าตัวแปรที่กำหนด เป็นลิสต์หรือไม่