ในบทความนี้ เราจะมาเรียนรู้เกี่ยวกับฟังก์ชัน isinstance() และ type() ที่มีอยู่ใน Python 3.x หรือก่อนหน้านี้ โดยพื้นฐานแล้ววิธีการเหล่านี้ใช้เพื่อตรวจสอบการอ้างอิงและลักษณะของเอนทิตี
วิธี Isinstance()
ไวยากรณ์
isinstance(object_entity, comparison_equivalent)
คืนค่า − เป็นจริงหาก object_entity ตรงกับการเปรียบเทียบ_เทียบเท่า
ตอนนี้เรามาดูกันว่าเมธอด isinstance() ทำงานอย่างไร
ตัวอย่าง
class Test: var = 786 TestInstance = Test() print(isinstance(TestInstance, Test)) print(isinstance(TestInstance, (list, tuple))) print(isinstance(TestInstance, (list, tuple, Test)))
ผลลัพธ์
True False True
บรรทัดแรกและบรรทัดที่สามแสดงเป็นจริงเนื่องจากการอ้างอิงของ Test &TestInstance ตรงกัน ในขณะที่บรรทัดที่สองแสดงเป็นเท็จเนื่องจากการอ้างอิงของ TestInstance ไม่ตรงกับการอ้างอิงรายการ &ทูเพิล
เรามาดูตัวอย่างอื่นเพื่อความเข้าใจกันดีกว่า
ตัวอย่าง
Test= [1, 2, 3] result = isinstance(Test, list) print(Test,'list:', result) result = isinstance(Test, dict) print(Test,'dict:', result) result = isinstance(Test, (dict, list)) print(Test,'dict or list:', result)
ผลลัพธ์
[1, 2, 3] list: True [1, 2, 3] dict: False [1, 2, 3] dict or list: True
ที่นี่เมื่อใดก็ตามที่การทดสอบตรงกับอินสแตนซ์รายการ True ปรากฏขึ้นบนหน้าจอ มิฉะนั้นจะเป็นเท็จ
วิธีพิมพ์()
ไวยากรณ์
type(entity)
คืนค่า − ประเภทของเอนทิตีที่ส่งผ่านเป็นอาร์กิวเมนต์
ตอนนี้เรามาดูกันว่าเมธอด type() ทำงานอย่างไร
ตัวอย่าง
Dictinp = {1:'Tutorial', 2:'Point'} print(type(Dictinp)) Listinp = ['t','u','t'] print(type(Listinp)) Tupleinp = ('Tut', 'orial', 'Point') print(type(Tupleinp))
ผลลัพธ์
<class 'dict'> <class 'list'> <class 'tuple'>
ในที่นี้ ผลลัพธ์มีประเภทของเอนทิตีที่เคารพซึ่งส่งผ่านระหว่างการเรียกเมธอด ประเภทนี้ยังสามารถใช้ในประโยคเปรียบเทียบและประโยคเงื่อนไขอื่นๆ ได้อีกด้วย
คราวนี้มาดูตัวอย่างเงื่อนไขแบบมีเงื่อนไขกัน
ตัวอย่าง
Listinp = ['t','u','t'] Tupleinp = ('Tut', 'orial', 'Point') if type(Listinp) is not type(Tupleinp): print("Type mismatch") else: print("TYpe match")
ผลลัพธ์
Type Mismatch
ที่นี่ Type mismatch จะแสดงเป็นรายการ และ tuple เป็นประเภทข้อมูลสองประเภทที่แตกต่างกัน
บทสรุป
ในบทความนี้ เราได้เรียนรู้การใช้งานเมธอด type() &isinstance() ใน Python 3.x หรือก่อนหน้านั้น