কম্পিউটার টিউটোরিয়াল

পাইথন ООপিতে cmp() ফাংশন কী করে?


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)

যদি এলিমেন্টগুলো একই টাইপের হয়, তবে তুলনা করে রেজাল্ট রিটার্ন করে। যদি এলিমেন্টগুলো ভিন্ন টাইপের হয়, তবে চেক করা হয় সেগুলো নম্বর কিনা।

  • নম্বর হলে, প্রয়োজনে न्यूमেরিক কোэрসন করে তুলনা করা হয়।
  • যদি যেকোনো এলিমেন্ট নম্বর হয়, তবে অন্যটি "larger" (নম্বরগুলো "smallest")।
  • অন্যথায়, টাইপগুলো নামের অনুযায়ী আফবেটিক্যালি সর্ট করা হয়।
  • যদি লিস্ট যেকোনো একটি এর শেষে পৌঁছায়, তবে লম্বা লিস্টটি "larger"। যদি দুটি লিস্টই এক্সহাস্ট হয় এবং একই ডেটা শেয়ার করে, তবে রেজাল্ট টাই, অর্থাৎ 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

  1. পাইথনে print() ফাংশন কী এবং কীভাবে কাজ করে?

  2. পাইথনে input() ফাংশন কী কাজ করে?

  3. পাইথনে raw_input() ফাংশন কী কাজ করে?

  4. পাইথনে <code>reload()</code> ফাংশন কী করে?