คำถามติดแท็ก equality

ความเท่าเทียมกันคือความสัมพันธ์ระหว่างสองรายการหรือตัวแปรหรือวัตถุที่มีอยู่หาก (1) รายการเป็นรายการเดียวกันตัวแปรหรือวัตถุหรือ (2) รายการนั้นเป็นรายการรายการตัวแปรหรือวัตถุต่างกัน แต่มีค่าเท่ากัน โดยทั่วไปแท็กนี้ควรใช้กับแท็กเฉพาะภาษาโปรแกรมเช่นเดียวกับแท็กบริบทอื่น ๆ เช่นระบบฐานข้อมูล โพสต์ควรมีบริบทเกี่ยวกับการทดสอบความเท่าเทียมกันมากที่สุดเท่าที่จะทำได้

5
ทำไม Python dict จึงมีหลายคีย์ที่มีแฮชเดียวกัน
ฉันพยายามทำความเข้าใจกับhashฟังก์ชันPython ภายใต้ประทุน ฉันสร้างคลาสแบบกำหนดเองโดยที่อินสแตนซ์ทั้งหมดส่งคืนค่าแฮชเหมือนกัน class C: def __hash__(self): return 42 ฉันเพิ่งสันนิษฐานว่าอินสแตนซ์เดียวของคลาสข้างต้นสามารถอยู่ในdictช่วงเวลาใดก็ได้ แต่ในความเป็นจริงdictสามารถมีหลายองค์ประกอบที่มีแฮชเดียวกัน c, d = C(), C() x = {c: 'c', d: 'd'} print(x) # {<__main__.C object at 0x7f0824087b80>: 'c', <__main__.C object at 0x7f0823ae2d60>: 'd'} # note that the dict has 2 elements ฉันทดลองเพิ่มเติมอีกเล็กน้อยและพบว่าถ้าฉันแทนที่__eq__วิธีการเพื่อให้อินสแตนซ์ทั้งหมดของคลาสเปรียบเทียบเท่ากันจะมีdictเพียงอินสแตนซ์เดียวเท่านั้นที่อนุญาต class D: def __hash__(self): return 42 def …

10
คุณทดสอบฟังก์ชันและการปิดเพื่อความเท่าเทียมกันอย่างไร?
หนังสือเล่มนี้ระบุว่า "ฟังก์ชันและการปิดเป็นประเภทอ้างอิง" แล้วคุณจะทราบได้อย่างไรว่าข้อมูลอ้างอิงเท่ากัน? == และ === ไม่ทำงาน func a() { } let å = a let b = å === å // Could not find an overload for === that accepts the supplied arguments
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.