পাইথন অপারেটরপাইথনে অপারেটর হলো বিশেষ ধরনের প্রতীক যা গাণিতিক এবং যৌক্তিক (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
লজিক্যাল অপারেটর
পাইথনে and
, or
এবং not
অপারেটরসমূহকে লজিক্যাল অপারেটর(Logical operator) বলা হয়।
অপারেটর | অর্থ | উদাহরণ |
---|---|---|
and | উভয় অপারেন্ড true হলে True | a and b |
or | যেকোনো একটি অপারেন্ড true হলে True | a or b |
not | অপারেন্ড false হলে True | not 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 AND | x& y = 0 (0000 0000 ) |
| | Bitwise OR | x | y = 14 (0000 1110 ) |
~ | Bitwise NOT | ~x = -11 (1111 0101 ) |
^ | Bitwise XOR | x ^ y = 14 (0000 1110 ) |
>> | Bitwise right shift | x>> 2 = 2 (0000 0010 ) |
<< | Bitwise left shift | x<< 2 = 42 (0010 1000 ) |
এসাইনমেন্ট অপারেটর
ভ্যারিয়েবলে ভ্যালু এসাইন বা আরোপ করার জন্য পাইথনে এসাইনমেন্ট অপারেটর(Assignment operator) ব্যব্যহৃত হয়।
a = 10
একটি সাধারণ এসাইনমেন্ট অপারেটর যা ডানপাশের ভ্যালু 10 কে বামপাশের ভ্যারিয়েবল a তে এসাইন করে।
পাইথনে বিভিন্ন ধরণের অপারেটর আছে যেমন- a += 5
ভ্যারিয়েবলের সাথে ভ্যালু যোগ করে যোগফল পরবর্তীতে একই ভ্যারিয়েবলে এসাইন করে। এটি a = a + 5
এর সমতুল্য।
অপারেটর | উদাহরণ | সমতুল্য |
---|---|---|
= | x = 5 | x = 5 |
+= | x += 5 | x = x + 5 |
-= | x -= 5 | x = x - 5 |
*= | x *= 5 | x = x * 5 |
/= | x /= 5 | x = x / 5 |
%= | x %= 5 | x = x % 5 |
//= | x //= 5 | x = x // 5 |
**= | x **= 5 | x = x ** 5 |
&= | x &= 5 | x = x & 5 |
|= | x |= 5 | x = x | 5 |
^= | x ^= 5 | x = x ^ 5 |
>>= | x >>= 5 | x = x >> 5 |
<<= | x <<= 5 | x = 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)। কোনো ভ্যালু বা ভ্যারিয়েবল string, list, tuple, set এবং 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
হয়।