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

ประเภทและอินสแตนซ์ใน Python


ในบทความนี้ เราจะมาเรียนรู้เกี่ยวกับฟังก์ชัน 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 หรือก่อนหน้านั้น