Computer >> Máy Tính >  >> Lập trình >> Python

Hàm cmp () làm gì trong Lập trình hướng đối tượng Python?

Hàm cmp ()

Hàm cmp (x, y) so sánh giá trị của hai đối số x và y -

cmp (x, y)

Giá trị trả về là -

Một số âm nếu x nhỏ hơn y.

0 nếu x bằng y.

Một số dương nếu x lớn hơn y.

Hàm cmp () tích hợp sẵn thường sẽ chỉ trả về các giá trị -1, 0 hoặc 1. Tuy nhiên, có những nơi khác mong đợi các hàm có cùng một chuỗi lệnh gọi và các hàm đó có thể trả về các giá trị khác. Tốt nhất là chỉ quan sát dấu hiệu của kết quả.

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

Phương thức cmp () so sánh các phần tử của hai danh sách.

Cú pháp

cmp(list1, list2)

Nếu các phần tử cùng kiểu, hãy thực hiện so sánh và trả về kết quả. Nếu các phần tử là các loại khác nhau, hãy kiểm tra xem chúng có phải là số không.

Nếu là số, hãy thực hiện cưỡng chế số nếu cần và so sánh.

Nếu một trong hai phần tử là số thì phần tử còn lại là "lớn hơn" (các số là "nhỏ nhất").

Nếu không, các loại được sắp xếp theo thứ tự bảng chữ cái theo tên.

Nếu chúng tôi đã đến cuối một trong các danh sách, danh sách dài hơn là "lớn hơn". Nếu chúng tôi sử dụng hết cả hai danh sách và chia sẻ cùng một dữ liệu, kết quả là một sự ràng buộc, nghĩa là 0 được trả về.

Ví dụ

Ví dụ sau cho thấy cách sử dụng phương thức cmp ().

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

Đầu ra

Khi chúng ta chạy chương trình trên, chương trình sẽ tạo ra kết quả như sau -

-1
1
-1