ใน Python คุณสามารถใช้โอเปอเรเตอร์ไม่เท่ากับและเท่ากับเพื่อตรวจสอบว่าอ็อบเจ็กต์ Python สองรายการมีค่าเท่ากันหรือไม่ บทช่วยสอนนี้จะสอนวิธีใช้โอเปอเรเตอร์เหล่านี้พร้อมโค้ดตัวอย่างมากมาย
ในบทช่วยสอนนี้ คุณจะได้เรียนรู้:
- ไวยากรณ์ของตัวดำเนินการไม่เท่ากัน (!=) และกรณีการใช้งาน
- ไวยากรณ์ของตัวดำเนินการเท่ากับ (==) พร้อมตัวอย่างและ
- การใช้ is และ ไม่ใช่ ตัวดำเนินการเพื่อตรวจสอบตัวตนของสองวัตถุ Python
มาเริ่มกันเลย.
Python ไม่เท่ากับ Operator Syntax
สำหรับวัตถุ Python สองรายการใด ๆ obj1 และ obj2 ไวยากรณ์ทั่วไปที่จะใช้ตัวดำเนินการไม่เท่ากันคือ:
<obj1> != <obj2>
- คืนค่า True เมื่อค่าของ obj1 และ obj2 ไม่เท่ากัน และ
- คืนค่าเป็นเท็จมิฉะนั้น
หมายเหตุ: ตามที่กล่าวไว้ข้างต้น obj1 และ obj2 สามารถเป็นจำนวนเต็ม ตัวเลขทศนิยม สตริง รายการ และอื่นๆ
Python ไม่เท่ากับ Operator Code Examples
ในส่วนนี้ เรามาโค้ดตัวอย่างบางส่วนเพื่อทำความเข้าใจตัวดำเนินการไม่เท่ากันดีกว่า
การใช้ Python Not Equal Operator สำหรับการเปรียบเทียบ
นี่คือตัวอย่างแรกของเรา
num1 = 27 num2 = 3*9 num1 != num2 # Output: False
คุณสามารถเรียกใช้ตัวอย่างโค้ดบน admintrick.com Python IDE ได้จากเบราว์เซอร์ของคุณ หรือคุณสามารถเลือกที่จะรันบนเครื่องของคุณ
เนื่องจาก num1 = 27 และ num2 ก็ประเมินเป็น 27 ด้วย (3*9 = 27) ค่าของ num1 และ num2 จะเท่ากัน ดังนั้นตัวดำเนินการ != จะส่งกลับค่า False
ลองมาอีกตัวอย่างหนึ่ง
ในโค้ดด้านล่าง num1 ถูกตั้งค่าเป็น 7 และ num2 ถูกตั้งค่าเป็นสตริง 7 เนื่องจากเป็นข้อมูลประเภทต่างๆ ตัวดำเนินการที่ไม่เท่ากันจะส่งกลับค่า True
num1 = 7 num2 = "7" num1 != num2 # Output: True
คุณแปลงสตริงเป็นจำนวนเต็มดังที่แสดง:
num1 = 7 num2 = int("7") num1 != num2 # Output: False
ในกรณีนี้ คุณจะเห็นว่าผลลัพธ์ที่ได้กลับเป็นเท็จ เนื่องจากตอนนี้ num1 และ num2 เท่ากับจำนวนเต็ม 7
คุณยังสามารถใช้โอเปอเรเตอร์ไม่เท่ากันกับคอลเล็กชัน Python เช่น รายการ ทูเปิล และเซ็ต
หมายเหตุ: สำหรับการรวบรวมข้อมูล เช่น รายการ ตัวดำเนินการไม่เท่ากันทำงานโดยการตรวจสอบค่าของแต่ละรายการ ตัวอย่างเช่น สองรายการ list1 และ list2—แต่ละความยาว n—จะเท่ากันก็ต่อเมื่อ list1[i] == รายการ2[i] สำหรับฉันใน {0,1,2,3,..n-1}
นี่คือตัวอย่าง:
list1 = [2,4,6,8] list2 = [2,4,6,9] list1 != list2 # Output: True
ในตัวอย่างข้างต้น list1 และ list2 ต่างกันเพียงองค์ประกอบเดียว และตัวดำเนินการไม่เท่ากับ != คืนค่า True ตามที่คาดไว้
การใช้ Python Not Equal Operator ใน Conditionals
คุณมักจะใช้ตัวดำเนินการไม่เท่ากับเป็นส่วนหนึ่งของเงื่อนไข Python
ตัวอย่างเช่น ข้อมูลโค้ดด้านล่างแสดงวิธีที่คุณสามารถตรวจสอบได้ว่าตัวเลขเป็นเลขคี่หรือไม่
จำนวนที่หารด้วย 2 ไม่ลงตัวเป็นเลขคี่ และสิ่งนี้จะลดลงเป็นเงื่อนไข num%2 != 0
num = 7 if(num%2 != 0): print("The number is odd.") else: print("The number is even.") # Output: The number is odd.
คุณสามารถใช้เงื่อนไขใน รายการความเข้าใจ เมื่อคุณต้องการเก็บเฉพาะองค์ประกอบรายการเหล่านั้นที่ตรงตามเงื่อนไขเฉพาะ ในตัวอย่างด้านล่าง odd_10 คือรายการของเลขคี่ทั้งหมดที่น้อยกว่า 10
odd = [num for num in range(10) if num%2 != 0] print(odd) # Output: [1, 3, 5, 7, 9]
และนั่นก็เสร็จสิ้นการสนทนาของเราเกี่ยวกับตัวดำเนินการไม่เท่ากัน (!=)✅
อย่างที่คุณอาจเดาได้ในตอนนี้ ตัวดำเนินการเท่ากับ ให้ผลตรงกันข้ามกับตัวดำเนินการไม่เท่ากับ
คุณจะได้เรียนรู้เพิ่มเติมเกี่ยวกับเรื่องนี้ในหัวข้อถัดไป
ไวยากรณ์ตัวดำเนินการเท่ากับ Python
นี่คือรูปแบบการใช้ Python เท่ากับตัวดำเนินการ:
<obj1> == <obj2> #where <obj1> and <obj2> are valid Python objects
- คืนค่า True เมื่อค่าของ obj1 และ obj2 เท่ากัน และ
- คืนค่าเป็นเท็จมิฉะนั้น
Python Equal Operator Code Examples
สามารถใช้ตัวดำเนินการเท่ากับ (==) ได้ใกล้เคียงกับตัวดำเนินการไม่เท่ากัน
ลองโค้ดตัวอย่างต่อไปนี้:
- เพื่อตรวจสอบว่าสองสตริงเท่ากันหรือไม่
- เพื่อตรวจสอบว่าเป็นเลขคู่หรือไม่ และ
- เพื่อใช้เงื่อนไขในการทำความเข้าใจรายการ
การใช้ Python Not Equal Operator สำหรับการเปรียบเทียบ
ในข้อมูลโค้ดด้านล่าง str1 และ str2 มีค่าเท่ากันในแง่ของมูลค่า ดังนั้นตัวดำเนินการเท่ากับ (==) จะส่งกลับ True
str1 = "coding" str2 = "coding" str1 == str2 # Output: True
ตัวดำเนินการเท่ากับ Python
ลองใช้ตัวดำเนินการเท่ากับในนิพจน์เงื่อนไข
หมายเหตุ: จำนวนที่หารด้วย 2 ลงตัวจะเป็นเลขคู่ และในโค้ด ค่านี้จะลดลงเป็นเงื่อนไข num%2 == 0
num = 10 if(num%2 == 0): print("The number is even.") else: print("The number is odd.") # Output: The number is even.
มาต่อจากตัวอย่างนี้กัน ใช้การทำความเข้าใจรายการของ Python เพื่อให้ได้ตัวเลขคู่ทั้งหมดที่น้อยกว่า 10
even_10 = [num for num in range(10) if num%2 == 0] print(even_10) # Output: [0, 2, 4, 6, 8]
ในตัวอย่างข้างต้น
- range(10) ส่งคืนวัตถุช่วงซึ่งสามารถวนซ้ำเพื่อรับจำนวนเต็มทั้งหมดตั้งแต่ 0 ถึง 9
- เงื่อนไข num%2 == 0 เป็นจริงสำหรับเลขคู่เท่านั้น
- ดังนั้นคู่_10 คือรายการของเลขคู่ทั้งหมดที่น้อยกว่า 10
จนถึงตอนนี้ คุณได้เรียนรู้วิธีตรวจสอบความเท่าเทียมกันโดยใช้ตัวดำเนินการไม่เท่ากับ (!=) และเท่ากับ (==)
ในส่วนถัดไป คุณจะได้เรียนรู้วิธียืนยันตัวตนของวัตถุสองชิ้น คุณจะตรวจสอบว่าวัตถุ Python สองรายการเหมือนกันหรือไม่
วิธีใช้ Python เป็นและไม่ใช่ตัวดำเนินการ
หากคุณเป็นมือใหม่ในการเขียนโปรแกรม Python อาจเป็นไปได้ว่าคุณกำลังสับสนระหว่าง == และโอเปอเรเตอร์ ขอชี้แจงว่าในส่วนนี้
ในส่วนก่อนหน้านี้ เรามีตัวอย่างที่ str1 และ str2 โดยที่ เท่ากับ และตัวดำเนินการ == คืนค่า True
ตอนนี้เรียกใช้ข้อมูลโค้ดต่อไปนี้
str1 = "coding" str2 = "coding" str1 is str2 # Output: False
คุณจะเห็นว่า str1 คือ str2 คืนค่าเป็นเท็จ
ลองย้อนกลับไปและทำความเข้าใจว่าตัวดำเนินการของ Python คืออะไร
ตัวดำเนินการ is ทำงานบนอ็อบเจ็กต์ Python สองอ็อบเจ็กต์
และส่งกลับค่า True ต่อเมื่อวัตถุทั้งสองเหมือนกัน นั่นคือวัตถุเหล่านั้นอ้างถึงวัตถุเดียวกันในหน่วยความจำ
แม้ว่า str1 จะเท่ากับ str2 แต่ str1 ไม่ใช่ str2 เนื่องจากมันชี้ไปที่วัตถุสองชิ้นที่แตกต่างกันในหน่วยความจำ ดังนั้นจึงมีอัตลักษณ์ที่แตกต่างกัน
== และไม่เหมือนกัน
ใน Python คุณสามารถใช้ รหัส () ทำหน้าที่รับข้อมูลประจำตัวของวัตถุ
▶ เรียกใช้เซลล์รหัสต่อไปนี้เพื่อรับข้อมูลประจำตัวของ str1 และ str2
id(str1) # Sample output: 139935398870320 id(str2) # Sample output: 139935398871344
อย่างที่คุณเห็น str1 และ str2 มีอัตลักษณ์ต่างกัน และ str1 คือ str2 คืนค่าเป็นเท็จตามที่คาดไว้
ประกอบเข้าด้วยกัน,
<obj1> is <obj2> # returns True if and only if id(<obj1>) == id(<obj2>) # returns True
มาตรวจสอบอย่างรวดเร็วดังที่แสดง:
str1 = "coding" str2 = str1 print(str1 is str2) print(id(str1) == id(str2)) # Output True True
ตามสัญชาตญาณ ตัวดำเนินการ is not จะทำตรงกันข้ามกับตัวดำเนินการ is
ตัวดำเนินการ is not ทำงานบนวัตถุ Python สองรายการ
และส่งคืนค่า False เฉพาะเมื่อวัตถุทั้งสองเหมือนกัน นั่นคือวัตถุเหล่านั้นอ้างถึงวัตถุเดียวกันในหน่วยความจำ มิฉะนั้นจะส่งกลับ True
ในตัวอย่างโค้ดด้านบน ให้ลองแทนที่ is with is not และตรวจสอบผลลัพธ์
สรุป 👩💻
หวังว่าคุณพบว่าบทช่วยสอนนี้มีประโยชน์
เพื่อสรุป คุณได้เรียนรู้:
- วิธีใช้ตัวดำเนินการเท่ากับ (==) และไม่เท่ากับ (!=) เพื่อตรวจสอบว่าวัตถุ Python สองตัวมีค่าเท่ากันหรือไม่
- ความแตกต่างระหว่างความเท่าเทียมกันและเอกลักษณ์ของวัตถุ Python และ
- วิธีที่ Python เป็นและไม่ใช่ตัวดำเนินการช่วยในการตรวจสอบว่าวัตถุ Python สองตัวเหมือนกันหรือไม่
เรียนรู้วิธีคำนวณความแตกต่างของเวลาหรือสร้างเกมงูในหลามที่นี่
แล้วพบกันใหม่ในบทช่วยสอนถัดไป ถึงเวลานั้น ขอให้สนุกกับการเรียนและเขียนโค้ด!🎉