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

อินสแตนซ์ Python:คำแนะนำทีละขั้นตอน

ที่ isinstance() ฟังก์ชันใน Python จะคืนค่า true หรือ false หากตัวแปรตรงกับประเภทข้อมูลที่ระบุ ไวยากรณ์สำหรับ isinstance() ใน Python คือ isinstance(variable_to_check, data_type)

การตรวจสอบชนิดข้อมูลของค่าเฉพาะเป็นการดำเนินการทั่วไปในการเขียนโปรแกรม ตัวอย่างเช่น คุณอาจต้องการตรวจสอบว่าค่าที่คุณเก็บไว้ในตัวแปรเป็นสตริงหรือตัวเลข เนื่องจากข้อมูลแต่ละประเภททำงานในโค้ดต่างกัน

นั่นคือสิ่งที่ isinstance() ฟังก์ชันจะมีประโยชน์ isinstance() เป็นวิธี Python ในตัวที่ให้คุณตรวจสอบประเภทข้อมูลของค่าเฉพาะได้ ตัวอย่างเช่น คุณสามารถใช้ isinstance() เพื่อตรวจสอบว่าค่าเป็นสตริงหรือรายการ

บทแนะนำนี้จะแนะนำคุณเกี่ยวกับวิธีใช้ isinstance() วิธีการใน Python และจะยกตัวอย่างบางส่วนเพื่อช่วยให้คุณเข้าใจได้ดีขึ้น

ภาพรวมของ Python isinstance

เมื่อคุณเขียนโค้ดใน Python คุณจะใช้ข้อมูลประเภทต่างๆ ชนิดข้อมูลเหล่านี้รวมถึงสตริง ตัวเลข รายการ ทูเพิล และพจนานุกรม ข้อมูลทุกประเภทมีชุดของกฎเกณฑ์ที่ควบคุมวิธีการจัดเก็บและจัดการข้อมูลนั้น ตัวอย่างเช่น เมื่อใช้ Python คุณสามารถคำนวณทางคณิตศาสตร์กับตัวเลขได้ แต่ไม่สามารถใช้กับสตริงได้

ด้วยเหตุนี้ คุณจึงต้องทำงานกับประเภทข้อมูลที่ถูกต้องในโปรแกรมของคุณ คุณสามารถใช้ isinstance ใน Python เพื่อตรวจสอบว่าข้อมูลที่คุณใช้งานถูกจัดเก็บเป็นประเภทข้อมูลที่เหมาะสม เมื่อใช้ Python ให้ตรวจสอบประเภทข้อมูลตามต้องการ

isinstance() เป็นฟังก์ชันที่สร้างขึ้นใน Python ที่ตรวจสอบว่าค่าถูกจัดเก็บเป็นประเภทข้อมูลเฉพาะหรือไม่ ไม่เหมือนกับ type() ซึ่งจะกล่าวถึงในบทความนี้ต่อไปว่า isinstance() วิธีการส่งคืนเฉพาะ True หรือ False ขึ้นอยู่กับว่าค่าที่คุณกำลังตรวจสอบถูกจัดเก็บเป็นประเภทข้อมูลหรือประเภทที่คุณระบุหรือไม่

ไวยากรณ์สำหรับ isinstance() เป็นดังนี้:

81% ของผู้เข้าร่วมกล่าวว่าพวกเขารู้สึกมั่นใจมากขึ้นเกี่ยวกับโอกาสในการทำงานด้านเทคโนโลยีหลังจากเข้าร่วม bootcamp จับคู่กับ Bootcamp วันนี้

ผู้สำเร็จการศึกษาจากหลักสูตร bootcamp โดยเฉลี่ยใช้เวลาน้อยกว่าหกเดือนในการเปลี่ยนอาชีพ ตั้งแต่เริ่มต้น bootcamp ไปจนถึงหางานแรก

isinstance(object, data_types)

isinstance() เมธอดใช้พารามิเตอร์สองตัว ซึ่งจำเป็นทั้งสองอย่าง:

  • วัตถุ :วัตถุที่มีประเภทข้อมูลที่คุณต้องการตรวจสอบ
  • data_types :อย่างน้อยหนึ่งชนิดข้อมูลที่เป็นไปได้ของอ็อบเจ็กต์

isinstance() เมธอดจะเปรียบเทียบอ็อบเจ็กต์กับประเภทข้อมูลที่คุณระบุ หากคุณต้องการเปรียบเทียบออบเจ็กต์กับข้อมูลสองประเภทขึ้นไป คุณจะต้องระบุทูเพิลเป็นพารามิเตอร์ data_types

ในการตอบกลับ รหัสของคุณจะส่งคืน True หรือ False . รหัสส่งคืน True ถ้าวัตถุเป็นของชนิดข้อมูล (หรือชนิดข้อมูลอย่างใดอย่างหนึ่ง) ที่คุณระบุ และ False ถ้าไม่.

โดยพื้นฐานแล้ว เมื่อคุณใช้ isinstance ใน Python คุณกำลังนำเสนอโค้ดของคุณด้วยคำสั่งกรอกข้อมูลในช่องว่างและตัวเลือกคำตอบอย่างน้อยหนึ่งตัวเลือก คำสั่งของคุณคือ:This object is a (data type) . การระบุพารามิเตอร์ชนิดข้อมูลจะทำให้คำสั่งนั้นสมบูรณ์ สองตัวอย่างคือ:

  • 12 เป็นตัวเลข
  • books เป็นตัวเลข

ในการตอบกลับ รหัสของคุณจะส่งคืน True หรือ False .

ตัวอย่าง Python isinstance

มาดูสองตัวอย่างเพื่อแสดงให้เห็นว่าคุณสามารถใช้ isinstance() . ได้อย่างไร วิธีการในรหัสของคุณ สมมติว่าเรามีค่า และเราต้องการตรวจสอบว่าค่านั้นเป็นสตริง เราสามารถใช้ isinstance() เพื่อทำสิ่งนี้. นี่คือรหัสที่เราสามารถใช้ได้:

print(isinstance("String", str))

รหัสของเราทำการตรวจสอบประเภทแล้วฟังก์ชันของเราส่งคืน:True .

เพราะ String จริงๆ แล้วเป็นสตริง (str คือวิธีที่คุณอ้างถึงประเภทข้อมูล string ใน Python) โปรแกรมของเราส่งคืน True .

ตอนนี้เราจะสำรวจตัวอย่างที่มีรายละเอียดมากขึ้น

สมมติว่าเรากำลังสร้างเกมการคูณสำหรับชั้นประถมศึกษาปีที่สอง เกมของเรานำเสนอปัญหาทางคณิตศาสตร์แก่ผู้ใช้ จากนั้นจะตรวจสอบคำตอบของผู้ใช้เพื่อดูว่าถูกต้องหรือไม่ เพื่อให้โปรแกรมของเราทำงานได้ เราต้องตรวจสอบให้แน่ใจว่าผู้ใช้ได้ป้อนตัวเลขลงในเกมของเราแล้ว

เพื่อตรวจสอบว่าคำตอบที่เรารวบรวมจากผู้เล่นเป็นตัวเลขหรือไม่ เราสามารถใช้รหัสนี้:

answer = 5 * 8
user_answer = input("What is 5 x 8?")

print(isinstance(user_answer, (int, float)))

รหัสของเราส่งคืน:False .

มาทำลายโปรแกรมของเรากัน ในบรรทัดแรก เราคำนวณคำตอบของโจทย์คณิตศาสตร์ที่เรานำเสนอต่อผู้เล่น ในกรณีนี้ ปัญหาทางคณิตศาสตร์นั้นคือ What is 5 x 8? ดังนั้นเราจึงป้อน answer = 5 * 8 สำหรับบรรทัดแรกของรหัสของเรา

จากนั้น เราใช้ input() วิธีการดึงคำตอบจากผู้ใช้

ในบรรทัดสุดท้ายของโค้ด เราใช้ isinstance() เพื่อตรวจสอบว่าคำตอบของผู้ใช้ของเรา (เก็บไว้ใน user_answer ) เป็นจำนวนเต็มหรือทศนิยม ซึ่งเป็นประเภทข้อมูลสองประเภทที่ใช้แทนตัวเลขใน Python เราทำสิ่งนี้โดยการสร้างทูเพิลที่เก็บประเภทข้อมูลซึ่งเราต้องการตรวจสอบค่าของเรา ในโค้ดของเรา ทูเพิลนี้คือ:(int, float) .

รหัสของเราส่งคืน False ซึ่งบอกเราว่าคำตอบของผู้ใช้ไม่ใช่จำนวนเต็ม (int) หรือทศนิยม

ตอนนี้เราทราบแล้วว่าวัตถุของเราไม่ใช่อินสแตนซ์ของ int หรือ float เราสามารถเริ่มวินิจฉัยปัญหาได้ รหัสของเราส่งคืน False เพราะ input() ให้สตริงแก่เราโดยค่าเริ่มต้น แม้ว่าผู้ใช้จะป้อนตัวเลขก็ตาม ดังนั้น เพื่อให้โค้ดของเราใช้งานได้ เราจำเป็นต้องแปลงผลลัพธ์ของ input() . ของเรา วิธีการเป็นจำนวนเต็ม เราสามารถทำได้โดยใช้รหัสต่อไปนี้:

answer = 5 * 8
user_answer = int(input("What is 5 x 8?"))

print(isinstance(user_answer, (int, float)))

เมื่อเรารันโค้ดของเรา เราได้รับ:True .

ความแตกต่างเพียงอย่างเดียวระหว่างตัวอย่างนี้กับตัวอย่างก่อนหน้านี้คือ ในโค้ดนี้ บน user_answer เราแปลงผลลัพธ์ของ input() . ของเรา วิธีการเป็นจำนวนเต็มโดยใช้ int() . ดังนั้น โปรแกรมจะลงทะเบียนอินพุตเป็นจำนวนเต็มแทนที่จะเป็นสตริง ดังนั้นเมื่อเราตรวจสอบประเภทข้อมูลของค่านี้โดยใช้ isinstance() เมธอด โปรแกรมของเราตรวจสอบว่าค่าเป็นจำนวนเต็มหรือทศนิยม

ในตัวอย่างข้างต้น เราได้ตรวจสอบว่าอ็อบเจ็กต์มีประเภทข้อมูลในตัวหรือไม่ isinstance() เมธอดยังสามารถใช้เพื่อเปรียบเทียบอ็อบเจ็กต์กับคลาสเฉพาะได้อีกด้วย

ประเภทเทียบกับอินสแตนซ์

หากคุณเคยต้องตรวจสอบประเภทของค่าใน Python คุณอาจเคยเจอ type() กระบวนการ. type() เป็นฟังก์ชัน Python ในตัวที่สามารถใช้ค้นหาชนิดของตัวแปรหรือค่าได้ นี่คือไวยากรณ์สำหรับวิธีประเภท Python:

type(data)

ตัวอย่างเช่น สมมติว่าคุณมีตัวเลขและคุณต้องการตรวจสอบว่ามีการเข้ารหัสประเภทข้อมูลใดบ้าง คุณสามารถทำได้โดยใช้รหัสต่อไปนี้:

number = 8
print(type(number))

รหัสของเราส่งคืน:

<class 'int'>

อย่างที่คุณเห็น โปรแกรมของเราส่งคืนประเภทข้อมูลของเรา มันบอกเราว่าข้อมูลนี้ถูกเก็บไว้เป็นจำนวนเต็ม

มีความแตกต่างใหญ่อย่างหนึ่งระหว่าง type() และ isinstance() ฟังก์ชันที่เหมาะสมต่อการใช้งานมากกว่าฟังก์ชันอื่นในบางสถานการณ์ หากคุณต้องการดูประเภทข้อมูลของค่า type() อาจจะเหมาะสมกว่า แต่ถ้าคุณต้องการตรวจสอบว่าค่าถูกเก็บไว้เป็น บางค่า ชนิดหรือประเภทข้อมูล เช่น สตริงหรือทุ่น คุณควรใช้ isinstance() .

บทสรุป

ใน Python คุณสามารถใช้ isinstance() ฟังก์ชันเพื่อตรวจสอบว่าค่ามีประเภทข้อมูลเฉพาะหรือไม่ ตัวอย่างเช่น หากคุณต้องการตรวจสอบว่ารายการของค่าถูกจัดเก็บเป็นรายการ หรือหากตัวเลขถูกจัดเก็บเป็นทศนิยม คุณสามารถใช้ isinstance() .

บทช่วยสอน Python นี้สาธิตวิธีใช้ isinstance() เพื่อตรวจสอบว่าค่ามีข้อมูลบางประเภทหรือไม่ ตอนนี้คุณมีข้อมูลที่ต้องใช้ isinstance() เหมือนกับปรมาจารย์ของ Python