Python Operators

Python এ Operators কি?

অন্যান্য Programming Language এর মতোই পাইথন এ Operators হচ্ছে কতগুলো symbol যা Python Interpreter কে কিছু নির্দিষ্ট mathematical, relational এবং logical সহ আরো অনেক ধরণের কার্য (operation) সম্পাদন করার নির্দেশনা পাঠায়। এবং নির্দেশনা অনুযায়ী Python Interpreter সেই নির্দিষ্ট কাজের ফলাফল প্রদর্শন করে।

Python Operators কত প্রকার? এবং কি কি ?

পাইথনে Operand কি ?

Operator এর দুই পাশে যেই সব variable অথবা value থাকে,পাইথন অথবা যেকোনো Programming Language এর পরিভাষায় একে Operand বলে। নিচের উদাহরণ থেকে বুঝে নেয়া যাক।

a=5
b=8
print(a+b)

ব্যাখ্যা: এখানে plus sign (+) এর দুই পাশের যথাক্রমে a এবং b এই দুইটা ই Operand আর plus sign (+) টি হচ্ছে Operator

Arithmetic Operator

যেইসব symbol বা চিহ্ন গাণিতিক কাজ করার জন্য ব্যবহার করা হয়, পাইথনে এ গুলোকে বলা হয় Arithmetic Operators

অপারেটরব্যাখ্যাউদাহরণ
+দুইটা Operand এর Addition বা যোগফল দিবে>>> 10+20
30
দুইটা Operand এর Subtraction বা বিয়োগফল দিবে>>> 20-10
10
*দুইটা Operand এর Multification বা গুনফল দিবে>>> 10*2
20
/দুইটা Operand এর Division বা ভাগফল দিবে>>> 10/2
5
%দুইটা Operand এর Modulous বা ভাগ করার পর অবশিষ্টাংশ দিবে>>> 10%3
1
//Floor division -ভাগশেষ বাদে পূর্ণ সংখ্যায় ভাগফল>>> 10//3
3
**দুইটা Operand এর মধ্যে দ্বিতীয় operand টি প্রথম Operand এর Power হিসেবে ব্যবহৃত হবে।>>> 2**3
8

Assignment Operator

ভ্যারিয়েবল এ মধ্যে কোনো value সংরক্ষণ করতে যেইসব চিহ্ন ব্যবহৃত হয়, পাইথনে এগুলোকে বলা হয় Assignment Operator

অপারেটরউদাহরণসমতুল্য
=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

Comparison Operator

যেইসব symbol বা চিহ্ন যা দুইটি variable এর একটির সাথে আরেকটির compare(তুলনা) করার জন্য ব্যবহৃত হয়, পাইথন Programming Language এর পরিভাষায় এ গুলোকে বলা হয় Comparison Operators. Comparison Operator সাধারণত কোনো শর্তের(condition) উপরে ভিত্তিকরে এটি হয় True অথবা False রিটার্ন করে।

অপারেটরব্যাখ্যাউদাহরণ
>Greater Than – বামপক্ষ ডানপক্ষের চেয়ে বড় হলে True হবে।>>> 25>20
true
<Less Than – বাম পক্ষ্য ডানপক্ষের চেয়ে ছোট হলে True হবে।>>> 10<20
True
==Equal to – বামপক্ষ এবং ডানপক্ষ সমান হলে True হবে।>>> 10==10
true
!=Not equal to – বামপক্ষ এবং ডানপক্ষ সমান না হলে True হবে।>>> 10!=20
True
>=Greater than or equal to – বামপক্ষ ডানপক্ষের চেয়ে বড় বা সমান হলে True হবে।>>> 20>=10
True
<=Less than or equal to – বামপক্ষ ডানপক্ষের চেয়ে ছোট বা সমান হলে True হবে।>>> 10<=20
True

Logical Operators

Python Programming Language এ Logical Operator হচ্ছে সেইসব Operator যা দুই বা তার ও অধিক condition বা শর্তের উপর ভিত্তি করে decision বা সিদ্ধান্ত গ্রহণ করে। Logical Operator সাধারণত দুই বা তার ও অধিক condition বা শর্তের(condition) উপরে ভিত্তিকরে এটি হয় True অথবা False রিটার্ন করে।

অপারেটরব্যাখ্যাউদাহরণ
andউভয় অপারেন্ড true হলে True>>>print(5>4 and 3>2)
True
orযেকোনো একটি অপারেন্ড true হলে True>>>print(5>4 or 3<2)
True
notঅপারেন্ড false হলে True>>>print(not(3>4))
True

Membership Operators

কোনো ভ্যালু বা ভ্যারিয়েবল string, list, tuple, set ক্রমের মধ্যে আছে কি না এবং dictionary কোনো কী(key)-এর উপস্থিতি আছে কিনা তা যাচাই করার জন্য পাইথনে in এবং not in ব্যবহৃত হয়। পাইথনের পরিভাষায় এগুলোকে মেম্বারশিপ অপারেটর(Membership operator) বলা হয়।

অপারেটরব্যাখ্যাউদাহরণ
inক্রম(sequence)-এর মধ্যে ভ্যলু/ভ্যারিয়েবল থাকলে True হবে।5 in x
not inক্রম(sequence)-এর মধ্যে ভ্যলু/ভ্যারিয়েবল না থাকলে True হবে।5 not in x
a=10 
b=20 
list=[10,20,30,40,50];  
if (a in list):  
    print "a is in given list" 
else:  
    print "a is not in given list" 
if(b not in list):  
    print "b is not given in list" 
else:  
    print "b is given in list" 

Output

>>>   
a is in given list  
b is given in list  
>>>  

Identity Operators

দুটি value অথবা variable মেমোরির একই অংশে অবস্থিত কিনা চেক করার জন্য পাইথনে is এবং is not দুটি Operator ব্যবহৃত হয়। পাইথনের পরিভাষায় এগুলোকে বলা হয় Identity Operator.

উল্লেখ্য: দুটি ভ্যারিয়েবল সমান হওয়ার অর্থ এই নয় যে তারা Identical. সুতরাং দুটি value সমান হলে তারা Identical নাও হতে পারে।

অপারেটরব্যাখ্যাউদাহরণ
isযদি দুটি Operand এর Identity একই হয় তাহলে True দিবে অন্যথায় False দিবে।x is True
is notযদি দুটি Operand এর Identity একই না হয় তাহলে True দিবে অন্যথায় False দিবে।x is not True
a=20 
b=20 
if( a is b):  
    print  a,b have same identity  
else:  
    print a, b are different  
b=10 
if( a is not b):  
    print  a,b have different identity  
else:  
    print a,b have same identity  

Output

>>>   
a,b have same identity  
a,b have different identity  
>>>  

Bitwise Operators

যেইসব symbol বা চিহ্ন কম্পিউটারের binary পর্যায়ে এক বা একাধিক Integer Number এর মধ্যে নির্দিষ্ট বিট মূল্যায়ন,ম্যানিপুলেশন এবং decision বা সিদ্ধান্ত মূলক কাজ করার জন্য ব্যবহার করা হয়, পাইথনে এ গুলোকে বলা হয় Bitwise Operators.

Binary Number সহ অন্যান্য number system ভালো ভাবে বুঝার জন্য নিচের article টি দেখুন।।

PHP তে Number System কি ? (What is Number System in PHP?)

পাইথনে Bitwise Operators কয়টি? এবং কি কি ?

পাইথনে Bitwise Operator ৬ টি। নিচের টেবিল এ প্রত্যেকটি Bitwise Operators সম্পর্কে সংক্ষেপে আলোচনা করা হলো:

Bitwise OperatorsOperator নামউদাহরণফলাফল (Result)
&Andprint(a & b)সেই Binary Bit গুলিই আসবে যেগুলো a এবং b variable দুটোতেই Binary Value Set বা 1
|Ora | bসেই Binary Bit গুলিই আসবে যেগুলো a এবং b variable দুটোর মধ্যে যেকোনো একটি Set বা 1
^Xora ^ bসেই Binary Bit গুলিই আসবে যেগুলো a এবং b variable দুটোর মধ্যে যেকোনো একটি Set বা 1 কিন্তু দুটিই SET হওয়া যাবেনা।
~Not~aযা আছে তার বিপরীত আসবে। অর্থাৎ : যদি a এর Binary Bit 0 থাকে , তাহলে Output আসবে 1 . একই ভাবে a এর Binary Bit 1 থাকে, Output আসবে 0.
<<Left Shifta<a এর Binary Bit গুলো b এর সমসংখ্যক Bit বামে shift হবে।
>>Right Shifta>>ba এর Binary Bit গুলো b এর সমসংখ্যক Bit ডানে shift হবে।

পাইথনে Bitwise And (&) Operator কিভাবে কাজ করে?

Bitwise And Operator এ সেই Binary Bit গুলিই আসবে যেগুলো x এবং y variable দুটোতেই Binary Value Set বা 1

নীচের table দুটি থেকে আমরা বুঝতে পারবো Bitwise AND (&) কীভাবে কাজ করে।

Table 1:

Expression1Expression2Result
FalseFalseFalse
FalseTrueFalse
TrueFalseFalse
TrueTrueTrue

Table 2:

Bit in Expression1Bit in Expression2Result
000
010
100
111

Bitwise And (&) কিভাবে কাজ করে তা বুঝার জন্য নিচের উদাহরণ দেখে নেয়া যাক :

x=7;
y=5;
print (x & y); #Result: 5

এই উদাহরণ আরেকটু ভালো ভাবে বুঝার জন্য নিচের টেবিল দেখুন :

1 Byte ( 8 bits )
Place Value1286432168421  
x00000111=7
y00010101=5
Result:101=5

ব্যাখ্যা: উপরের টেবিল এ আমরা দেখতে পাই, x এবং y variable এর প্রথম এবং চতুর্থ Bit দুইটারই Set সংজ্ঞা অনুযায়ী যার AND করলে হয় 101. আর 101 এর ডেসিমাল ভ্যালু হচ্ছে 1*22+0*21+1*20=4+0+1=5

পাইথনে Bitwise Or (|) Operator কিভাবে কাজ করে?

Bitwise Or Operator এ সেই Binary Bit গুলিই আসবে যেগুলো x এবং y variable দুটোর মধ্যে যেকোনো একটি Set বা 1
নীচের table দুটি থেকে আমরা বুঝতে পারবো Bitwise OR (|) কীভাবে কাজ করে।

Table 1:

Expression1Expression2Result
FalseFalseFalse
FalseTrueTrue
TrueFalseTrue
TrueTrueTrue

Table 2:

Bit in Expression1Bit in Expression2Result
000
011
101
111

Bitwise OR (|) কিভাবে কাজ করে তা বুঝার জন্য নিচের উদাহরণ দেখে নেয়া যাক :

x=7;
y=5;
print(x | y) #Result: 7

এই উদাহরণ আরেকটু ভালো ভাবে বুঝার জন্য নিচের টেবিল দেখুন :

1 Byte ( 8 bits )
Place Value1286432168421  
x00000111=7
y00010101=5
Result:111=7

ব্যাখ্যা: উপরের টেবিল এ আমরা দেখতে পাই, x variable এর প্রথম ,দ্বিতীয় এবং চতুর্থ Bit তিনটিই Set সংজ্ঞা অনুযায়ী যার OR করলে হয় 111. আর 111 এর ডেসিমাল ভ্যালু হচ্ছে 1*22+1*21+1*20=4+2+1=5

পাইথনে Bitwise Xor (^) Operator কিভাবে কাজ করে?

Bitwise Xor Operator এ সেই Binary Bit গুলিই আসবে যেগুলো a এবং b variable দুটোর মধ্যে যেকোনো একটি Set বা 1 কিন্তু দুটিই SET বা UNSET হওয়া যাবেনা। নীচের table দুটি থেকে আমরা বুঝতে পারবো Bitwise XOR কীভাবে কাজ করে।

Table 1:

Expression1Expression2Result
FalseFalseFalse
FalseTrueTrue
TrueFalseTrue
TrueTrueFalse

Table 2:

Bit in Expression1Bit in Expression2Result
000
011
101
110

Bitwise Or (^) কিভাবে কাজ করে তা বুঝার জন্য নিচের উদাহরণ দেখে নেয়া যাক :

x=7;
y=5;
print(x ^ y) #Result: 2

আরেকটু ভালো ভাবে বুঝার জন্য নিচের টেবিল দেখুন :

1 Byte ( 8 bits )
Place Value1286432168421  
x00000111=7
y00010101=5
Result:010=2

ব্যাখ্যা: উপরের টেবিল এ আমরা দেখতে পাই, x এবং y variable এর প্রথম এবং চতুর্থ Bit দুইটারই Set একমাত্র দ্বিতীয় Bit ই একটি আরেকটির বিপরীত সংজ্ঞা অনুযায়ী যার Xor করলে হয় 010. আর 010 এর ডেসিমাল ভ্যালু হচ্ছে 0*22+1*21+0*20=0+1+0=2

পাইথনে Bitwise Not (~) Operator কিভাবে কাজ করে?

Bitwise Not মানে যা আছে তার বিপরীত আসবে। অর্থাৎ : যদি a এর Binary Bit 0 থাকে , তাহলে Output আসবে 1 . একই ভাবে a এর Binary Bit 1 থাকে, Output আসবে 0.

Bitwise Not (~) কিভাবে কাজ করে তা বুঝার জন্য নিচের উদাহরণ দেখে নেয়া যাক :

x=7;
y=3;
print(x & ~y) #Result=4

উদাহরণটি আরেকটু ভালো ভাবে বুঝার জন্য নিচের টেবিল দেখুন :

1 Byte ( 8 bits )
Place Value1286432168421  
x111=7
y011=3
~y100=4
Result:100=4

পাইথনে Bitwise Left Shift(<<) Operator কি? এবং কিভাবে কাজ করে?

যখন Binary Bit গুলো নির্দিষ্ট সংখ্যক ধাপ বামে স্থানান্তর হয়, Python এর পরিভাষায় একে বলা হয় Left Shift. Left Shift বের করার সহজ পদ্ধতি হচ্ছে , যেই সংখ্যার সাথে যত ধাপ left shift করবেন ততগুলো ২ একটি আরেকটির সাথে গুন করতে হবে। এবং ঐ গুণফলের সাথে মূল সংখ্যার (অর্থাৎ যাকে Left Shift করবেন তাকে) গুন করতে হবে। আরেকটু সহজ ভাবে বুঝার জন্য নিচের উদাহরণটি টি দেখুন :

print(8<<2) #Result:32
print(8<<4) #Result: 128

এখানে 8<<2 মানে বুঝায় 8*22 = 8*2*2=32 একই ভাবে 8<<4 মানে বুঝায় 8*24 = 8*2*2*2*2=128

পাইথনে Right Shift(>>) Operator কি? এবং কিভাবে কাজ করে?

যখন Binary Bit গুলো নির্দিষ্ট সংখ্যক ধাপ ডানে স্থানান্তর হয়, Python এর পরিভাষায় একে বলা হয় Right Shift. Right Shift বের করার সহজ পদ্ধতি হচ্ছে , যেই সংখ্যার সাথে যত ধাপ Right shift করবেন ততগুলো ২ একটি আরেকটির সাথে গুন করতে হবে। এবং ঐ গুণফলের সাথে মূল সংখ্যার (অর্থাৎ যাকে Right Shift করবেন তাকে) ভাগ করতে হবে। আরেকটু সহজ ভাবে বুঝার জন্য নিচের উদাহরণটি টি দেখুন :

print(8>>2) #Result:2
print(16>>4) #Result:1

এখানে 8>>2 মানে বুঝায় 8/22 = 8/2*2=2 একই ভাবে 16>>4 মানে বুঝায় 16/24 = 16/2*2*2*2=1

Leave A Reply

Your email address will not be published. Required fields are marked *