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

ฟังก์ชั่น cmp () ทำอะไรในการเขียนโปรแกรมเชิงวัตถุ Python


ฟังก์ชัน cmp()

ฟังก์ชัน cmp(x,y) จะเปรียบเทียบค่าของสองอาร์กิวเมนต์ x และ y -

cmp(x, y)

ค่าที่ส่งคืนคือ −

จำนวนลบถ้า x น้อยกว่า y

ศูนย์ถ้า x เท่ากับ y

จำนวนบวกถ้า x มากกว่า y

โดยทั่วไปแล้วฟังก์ชัน cmp() ในตัวจะส่งกลับเฉพาะค่า -1, 0 หรือ 1 อย่างไรก็ตาม มีที่อื่นๆ ที่คาดหวังฟังก์ชันที่มีลำดับการเรียกเหมือนกัน และฟังก์ชันเหล่านั้นอาจส่งคืนค่าอื่นๆ ทางที่ดีควรสังเกตเฉพาะสัญญาณของผลลัพธ์เท่านั้น

>>> cmp(2,8)
-1
>>> cmp(6,6)
0
>>> cmp(4,1)
1
>>> cmp('stackexchange', 'stackoverflow')
-1

เมธอด cmp() เปรียบเทียบองค์ประกอบของสองรายการ

ไวยากรณ์

cmp(list1, list2)

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

หากเป็นตัวเลข ให้บังคับเป็นตัวเลขหากจำเป็น แล้วเปรียบเทียบ

หากองค์ประกอบใดองค์ประกอบหนึ่งเป็นตัวเลข องค์ประกอบอื่นจะเป็น "ขนาดใหญ่" (ตัวเลขคือ "น้อยที่สุด")

มิฉะนั้น ประเภทจะถูกจัดเรียงตามตัวอักษรตามชื่อ

ถ้าเราไปถึงจุดสิ้นสุดของรายการใดรายการหนึ่ง รายการที่ยาวกว่าคือ "ใหญ่กว่า" หากเราใช้ทั้งสองรายการและใช้ข้อมูลร่วมกัน ผลลัพธ์จะเท่ากัน ซึ่งหมายความว่า 0 จะถูกส่งคืน

ตัวอย่าง

ตัวอย่างต่อไปนี้แสดงการใช้งานเมธอด cmp()

list1, list2 = [456, 'xyz'], [789, 'abc']
print cmp(list1, list2)
print cmp(list2, list1)
list3 = list2 + [896];
print cmp(list2, list3)

ผลลัพธ์

เมื่อเรารันโปรแกรมด้านบน มันจะให้ผลลัพธ์ดังต่อไปนี้ −

-1
1
-1