วิธีใช้ไพธอนไม่เท่ากันและตัวดำเนินการเท่ากัน

เผยแพร่แล้ว: 2022-01-29

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

ในบทช่วยสอนนี้ คุณจะได้เรียนรู้:

  • ไวยากรณ์ของตัวดำเนินการ ไม่เท่ากัน ( != ) และกรณีการใช้งาน
  • ไวยากรณ์ของตัวดำเนินการ เท่ากับ ( == ) พร้อมตัวอย่าง และ
  • การใช้ is และ is not โอเปอเรเตอร์เพื่อตรวจสอบตัวตนของสองอ็อบเจกต์ Python

มาเริ่มกันเลย.

Python ไม่เท่ากับตัวดำเนินการ Syntax

สำหรับวัตถุ Python สองรายการใด ๆ obj1 และ obj2 ไวยากรณ์ทั่วไปที่จะใช้ตัวดำเนินการ ไม่เท่ากัน คือ:

 <obj1> != <obj2>
  • คืนค่า True เมื่อค่าของ obj1 และ obj2 ไม่เท่ากัน และ
  • คืนค่า False มิฉะนั้น

หมายเหตุ : ตามที่กล่าวไว้ข้างต้น obj1 และ obj2 สามารถเป็นจำนวนเต็ม ตัวเลขทศนิยม สตริง รายการ และอื่นๆ

Python ไม่เท่ากับ Operator Code Examples

ในส่วนนี้ เรามาโค้ดตัวอย่างบางส่วนเพื่อทำความเข้าใจตัวดำเนินการ ไม่เท่ากัน ดีกว่า

การใช้ Python Not Equal Operator สำหรับการเปรียบเทียบ

นี่คือตัวอย่างแรกของเรา

 num1 = 27 num2 = 3*9 num1 != num2 # Output: False

คุณสามารถเรียกใช้ตัวอย่างโค้ดบน Geekflare 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

ในกรณีนี้ คุณจะเห็นว่าผลลัพธ์ที่ได้กลับเป็น False เนื่องจากตอนนี้ num1 และ num2 เท่ากับจำนวนเต็ม 7

คุณยังสามารถใช้โอเปอเรเตอร์ ไม่เท่ากัน กับคอลเล็กชัน Python เช่น รายการ ทูเปิล และเซ็ต

หมายเหตุ : สำหรับการรวบรวมข้อมูล เช่น รายการ ตัวดำเนินการไม่เท่ากันทำงานโดยการตรวจสอบค่าของแต่ละรายการ ตัวอย่างเช่น สองรายการ list1 และ list2 — แต่ละความยาว n — จะเท่ากันก็ต่อเมื่อ list1[i] == list2[i] for 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 เท่ากัน และ
  • คืนค่า False มิฉะนั้น

Python Equal Operator Code Examples

สามารถใช้ตัวดำเนินการ เท่ากับ ( == ) ได้ใกล้เคียงกับตัวดำเนินการ ไม่เท่ากัน

ลองโค้ดตัวอย่างต่อไปนี้:

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

การใช้ Python Not Equal Operator สำหรับการเปรียบเทียบ

ในข้อมูลโค้ดด้านล่าง str1 และ str2 มีค่าเท่ากัน ดังนั้นตัวดำเนินการ เท่ากับ ( == ) จะคืนค่า True

 str1 = "coding" str2 = "coding" str1 == str2 # Output: True
python-equals-operator
ตัวดำเนินการเท่ากับ 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.

มาต่อจากตัวอย่างนี้กัน ใช้ list comprehension ของ 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 เป็น True สำหรับเลขคู่เท่านั้น
  • ดังนั้น even_10 คือรายการของเลขคู่ทั้งหมดที่น้อยกว่า 10

จนถึงตอนนี้ คุณได้เรียนรู้วิธีตรวจสอบ ความเท่าเทียมกัน โดยใช้ตัวดำเนินการ ไม่เท่ากับ ( != ) และ เท่ากับ ( == )

ในส่วนถัดไป คุณจะได้เรียนรู้วิธียืนยัน ตัวตน ของสองออบเจ็กต์ คุณจะตรวจสอบว่าวัตถุ Python สองรายการ เหมือนกัน หรือไม่

วิธีใช้ Python เป็นและไม่ใช่ตัวดำเนินการ

หากคุณเป็นมือใหม่ในการเขียนโปรแกรม Python อาจเป็นไปได้ว่าคุณสับสนระหว่าง == และ is ขอชี้แจงว่าในส่วนนี้

ในส่วนก่อนหน้านี้ เรามีตัวอย่างที่ str1 และ str2 โดยที่ equal และตัวดำเนินการ == คืนค่า True

ตอนนี้เรียกใช้ข้อมูลโค้ดต่อไปนี้

 str1 = "coding" str2 = "coding" str1 is str2 # Output: False

คุณจะเห็นว่า str1 is str2 คืนค่า False

ลองย้อนกลับไปและทำความเข้าใจว่าตัวดำเนินการของ Python is อะไร

ตัวดำเนินการ is ทำงานบนวัตถุ Python สองอันใดๆ
และส่งกลับค่า True ต่อเมื่อวัตถุทั้งสอง เหมือนกัน นั่นคืออ้างถึง วัตถุเดียวกัน ในหน่วยความจำ

แม้ว่า str1 จะเท่ากับ str2 แต่ str1 ไม่ใช่ str2 เนื่องจากมันชี้ไปที่วัตถุสองชิ้นที่แตกต่างกันในหน่วยความจำ ดังนั้นจึงมีอัตลักษณ์ที่แตกต่างกัน

python-is-operator
== และไม่เหมือนกัน

ใน Python คุณสามารถใช้ฟังก์ชัน id() เพื่อรับข้อมูลประจำตัวของวัตถุ

เรียกใช้เซลล์รหัสต่อไปนี้เพื่อรับข้อมูลประจำตัวของ str1 และ str2

 id(str1) # Sample output: 139935398870320 id(str2) # Sample output: 139935398871344

อย่างที่คุณเห็น str1 และ str2 มีอัตลักษณ์ต่างกัน และ str1 is str2 คืนค่าเป็น False ตามที่คาดไว้

ประกอบเข้าด้วยกัน,

 <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 is และ is not ตัวดำเนินการช่วยในการตรวจสอบว่าวัตถุ Python สองตัวเหมือนกันหรือไม่

เรียนรู้วิธีคำนวณความแตกต่างของเวลาหรือสร้างเกมงูในหลามที่นี่

แล้วพบกันใหม่ในบทช่วยสอนถัดไป ถึงเวลานั้น ขอให้สนุกกับการเรียนและเขียนโค้ด!