পাইথন প্রোগ্রামিং ল্য়াংগুয়েজ-১০ - SMH Amiri

সর্বশেষ লিখাসমূহ

পাইথন প্রোগ্রামিং ল্য়াংগুয়েজ-১০

 


পাইথন অপারেটরপাইথনে অপারেটর হলো বিশেষ ধরনের প্রতীক যা গাণিতিক এবং যৌক্তিক (logical) হিসাব-নিকাশে ব্যবহৃত হয়। অপারেটর(+, -, * ইত্যাদি) যে ভ্যালুকে অপারেট করে তাকে অপারেন্ড বলা হয়।

উদাহরণস্বরূপঃ

>>> 3+7
#Output: 10

এখানে + একটি অপারেটর যা যোগের কাজে ব্যবহৃত হয়েছে। 3 ও 7 অপারেন্ড এবং 10 অপারেশনের আউটপুট।


পাইথনে অপারেটরসমূহঃ

  • এরিথমেটিক অপারেটর(Arithmetic operator)
  • কম্প্যারিজম অপারেটর(Comparison (Relational) operator)
  • লজিক্যাল অপারেটর(Logical (Boolean) operator)
  • বিটওয়াইজ অপারেটর( Bitwise operator)
  • এসাইনমেন্ট অপারেটর(Assignment operator)
  • স্পেসিয়াল অপারেটর(Special operator)

এরিথমেটিক অপারেটর

গাণিতিক যোগ-বিয়োগ, গুণ-ভাগ ইত্যাদিতে এরিথমেটিক অপারেটর(Arithmetic operator) ব্যবহৃত হয়।

পাইথনে এরিথমেটিক অপারেটরসমূহ
অপারেটরঅর্থউদাহরণ
+দুটি অপারেন্ডের যোগ বা ইউনারি যোগ(unary plus)x + y
-বাম অপারেন্ড থেকে ডান অপারেন্ড বিয়োগ বা ইউনারী বিয়োগx - y
*দুটি অপারেন্ডের গুণx * y
/বাম অপারেন্ডকে ডান অপারেন্ড দিয়ে ভাগ(ফলাফল সব সময় দশমিক হবে)x / y
%মডিউলাস(Modulus) - বাম অপারেন্ডকে ডান অপারেন্ড দিয়ে ভাগ করে ভাগশেষx % y (x/y এর ভাগশেষ)
//Floor division -ভাগশেষ বাদে পূর্ণ সংখ্যায় ভাগফলx // y
**সূচক(Exponent)- ডান অপারেন্ড বাম অপারেন্ড এর সূচকx**y (x এর সূচক y)

উদাহরণঃ পাইথনে এরিথমেটিক অপারেটর

x = 10
y = 4

print('x + y =',x+y)
# Output: x + y = 14
 
print('x - y =',x-y)
# Output: x - y = 6

print('x * y =',x*y)
# Output: x * y = 40

print('x / y =',x/y)
# Output: x / y = 2.50

print('x // y =',x//y)
# Output: x // y = 3

print('x ** y =',x**y)
# Output: x ** y = 10000


কম্প্যারিজন অপারেটর

দুই বা ততোধিক ভ্যালুর মধ্যে তুলনা করতে কম্প্যারিজন অপারেটর ব্যবহৃত হয়। কোনো শর্তের(condition) উপরে ভিত্তিকরে এটি হয় True অথবা False রিটার্ন করে।

পাইথনে কম্প্যারিজন অপারেটরসমূহ
অপারেটরঅর্থউদাহরণ
>Greater Than - বামপক্ষ ডানপক্ষের চেয়ে বড় হলে True হবে।x > y
<Less Than - বাম পক্ষ্য ডানপক্ষের চেয়ে ছোট হলে True হবে।x < y
==Equal to - বামপক্ষ এবং ডানপক্ষ সমান হলে True হবে।x == y
!=Not equal to - বামপক্ষ এবং ডানপক্ষ সমান না হলে True হবে।x != y
>=Greater than or equal to - বামপক্ষ ডানপক্ষের চেয়ে বড় বা সমান হলে True হবে।x >= y
<=Less than or equal to - বামপক্ষ ডানপক্ষের চেয়ে ছোট বা সমান হলে True হবে।x <= y


উদাহরণঃ পাইথনে কম্প্যারিজন অপারেটর

x = 10
y = 15

print('x > y  is',x>y)
# Output: x > y is False

print('x < y  is',x<y)
# Output: x < y is True

print('x == y is',x==y)
# Output: x == y is False

print('x != y is',x!=y)
# Output: x != y is True

print('x >= y is',x>=y)
# Output: x >= y is False

print('x <= y is',x<=y)
# Output: x <= y is True


লজিক্যাল অপারেটর

পাইথনে andor এবং not অপারেটরসমূহকে লজিক্যাল অপারেটর(Logical operator) বলা হয়।

পাইথনে লজিক্যাল অপারেটরসমূহ
অপারেটরঅর্থউদাহরণ
andউভয় অপারেন্ড true হলে Truea and b
orযেকোনো একটি অপারেন্ড true হলে Truea or b
notঅপারেন্ড false হলে Truenot a

উদাহরণঃ পাইথনে লজিক্যাল অপারেটর

a = True
b = False

print('a and b is',a and ab)
# Output: a and b is False

print('a or b is',a or b)
# Output: a or b is True

print('not a is',not a)
# Output: not a is False


লজিক্যাল অপারেটর সম্মন্ধে আরও জানতে truth table অধ্যায় ভিজিট করুন।


বিটওয়াইজ অপারেটর

পাইথনে বাইনারি সংখ্যা স্ট্রিং এর মতই এবং এ সংখ্যাকে অপারেট করার জন্য বিটওয়াইজ অপারেটর ব্যবহৃত হয়। বিট এর সাথে বিট অপারেট হওয়ায় নামটি যথাপোযুক্ত।

উদাহরণস্বরূপঃ 2 এর বাইনারি মান 10 এবং 7 এর বাইনারি মান 111

মনেকরি, নিচের টেবিলে x = 10 (বাইনারিতে 0000 1010) এবং y = 4 (বাইনারিতে 0000 0100)

পাইথনে বিটওয়াইজ অপারেটর
অপারেটরঅর্থউদাহরণ x = 10, y = 4
&Bitwise ANDx& y = 0 (0000 0000)
|Bitwise ORx | y = 14 (0000 1110)
~Bitwise NOT~x = -11 (1111 0101)
^Bitwise XORx ^ y = 14 (0000 1110)
>>Bitwise right shiftx>> 2 = 2 (0000 0010)
<<Bitwise left shiftx<< 2 = 42 (0010 1000)



এসাইনমেন্ট অপারেটর

ভ্যারিয়েবলে ভ্যালু এসাইন বা আরোপ করার জন্য পাইথনে এসাইনমেন্ট অপারেটর(Assignment operator) ব্যব্যহৃত হয়।

a = 10 একটি সাধারণ এসাইনমেন্ট অপারেটর যা ডানপাশের ভ্যালু 10 কে বামপাশের ভ্যারিয়েবল a তে এসাইন করে।

পাইথনে বিভিন্ন ধরণের অপারেটর আছে যেমন- a += 5 ভ্যারিয়েবলের সাথে ভ্যালু যোগ করে যোগফল পরবর্তীতে একই ভ্যারিয়েবলে এসাইন করে। এটি a = a + 5 এর সমতুল্য।

পাইথনে এসাইনমেন্ট অপারেটর
অপারেটরউদাহরণসমতুল্য
=x = 5x = 5
+=x += 5x = x + 5
-=x -= 5x = x - 5
*=x *= 5x = x * 5
/=x /= 5x = x / 5
%=x %= 5x = x % 5
//=x //= 5x = x // 5
**=x **= 5x = x ** 5
&=x &= 5x = x & 5
|=x |= 5x = x | 5
^=x ^= 5x = x ^ 5
>>=x >>= 5x = x >> 5
<<=x <<= 5x = x << 5

বিশেষ অপারেটর

উপরোক্ত অপারেটর ছাড়াও পাইথনে কিছু বিশেষ অপারেটর(Special operator) রয়েছে। যেমন- আইডেন্টিটি অপারেটর এবং মেম্বারশিপ অপারেটর। নিম্নে এগুলো উদাহরণসহ আলোচনা করা হলোঃ


আইডেন্টিটি অপারেটর

পাইথনে is এবং is not হচ্ছে আইডেন্টিটি অপারেটর। দুটি ভ্যলু(অথবা ভ্যারিয়েবল) মেমোরির একই অংশে অবস্থিত কিনা চেক করার জন্য এগুলো ব্যবহৃত হয়।

দুটি ভ্যারিয়েবল সমান হওয়ার অর্থ এই নয় যে তারা আইডেন্টিকাল। সুতরাং দুটি ভ্যালু সমান হলে তারা আইডেন্টিকাল নাও হতে পারে।

পাইথনে আইডেন্টিটি অপারেটর
অপারেটরঅর্থউদাহরণ
isঅপারেনড আইডেন্টিকাল হলে True হবে(একই অবজেক্টকে রেফার করে)।x is True
is notঅপারেনড আইডেন্টিকাল না হলে True (একই অবজেক্টকে রেফার করে না) হবে।x is not True

উদাহরণঃ পাইথনে আইডেন্টিকাল অপারেটর

x1 = 5
y1 = 5
x2 = 'Hello'
y2 = 'Hello'
x3 = [1,2,3]
y3 = [1,2,3]

print(x1 is not y1)
# Output: False

print(x2 is y2)
# Output: True

print(x3 is y3)
# Output: False

এখানে আমরা দেখতে পাচ্ছি যে, x1 এবং y1 একই ভ্যালুর পূর্ণ সংখ্যা, সুতরাং এরা সমান এবং আইডেন্টিকাল। একইভাবে স্ট্রিং x2 এবং y2 সমান এবং আইডেন্টিকাল।

কিন্তু x3 এবং y3 হচ্ছে লিস্ট। এরা সমান কিন্তু আইডেন্টিকাল নয়। যেহেতু লিস্ট পরিবর্তনশীল তাই এরা সমান হওয়া সত্ত্বেও ইন্টারপ্রেটার এদেরকে মেমোরির বিভিন্ন জায়াগায় স্থান দেয়।


মেম্বারশিপ অপারেটর

পাইথনে in এবং not in হচ্ছে মেম্বারশিপ অপারেটর(Membership operator)। কোনো ভ্যালু বা ভ্যারিয়েবল stringlisttupleset এবং dictionary ক্রমের মধ্যে আছে কি না যাচাই করার জন্য এগুলো ব্যবহৃত হয়।

ডিকশনারিতে ভ্যালুর পরিবর্তে কোনো কী(key)-এর উপস্থিতি আছে কিনা যাচাই করা হয়।

পাইথনে মেম্বারশিপ অপারেটর
অপারেটরঅর্থউদাহরণ
inক্রম(sequence)-এর মধ্যে ভ্যলু/ভ্যারিয়েবল থাকলে True হবে।5 in x
not inক্রম(sequence)-এর মধ্যে ভ্যলু/ভ্যারিয়েবল না থাকলে True হবে।5 not in x

উদাহরণঃ পাইথনে মেম্বারশিপ অপারেটর

x = 'Hello world'
y = {1:'a',2:'b'}

print('H' in x)
# Output: True

print('hello' not in x)
# Output: True

print(1 in y)
# Output: True

print('a' in y)
# Output: False

এখানে x এর মধ্যে 'H' আছে কিন্তু x এর মধ্যে 'hello' নাই (মনে রাখবেন, পাইথন কেস-সেন্সিটিভ)। একইভাবে ডিকশনারিতে y-এ 1 হচ্ছে কী 'a' হচ্ছে ভ্যালু। , 'a' in y এর ফলাফল False হয়।